@@ -140,12 +140,15 @@ Since our Model entities conform to `Decodable`, this results in small-footprint
140140The networking layer is ** entirely decoupled** from third party frameworks. We rely upon component injection to actually perform network requests:
141141
1421421 . ** NetworkType**
143+
143144 Defines a set of API's, to be implemented by any class that offers actual Network Access.
144145
1451462 . ** AlamofireNetwork**
147+
146148 Thin wrapper around the Alamofire library.
147149
1481503 . ** MockupNetwork**
151+
149152 As the name implies, the Mockup Network is extensively used in Unit Tests. Allows us to simulate backend
150153 responses without requiring third party tools. No more NSURLSession swizzling!
151154
@@ -157,14 +160,17 @@ Rather than building URL instances in multiple spots, we've opted for implementi
157160of performing this task for us:
158161
1591621 . ** DotcomRequest**
163+
160164 Represents a WordPress.com request. Set the proper API Version, method, path and parameters, and this structure
161165 will generate a URLRequest for you.
162166
1631672 . ** JetpackRequest**
168+
164169 Analog to DotcomRequest, this structure represents a Jetpack Endpoint request. Capable of building a ready-to-use
165170 URLRequest for a "Jetpack Tunneled" endpoint.
166171
1671723 . ** AuthenticatedRequest**
173+
168174 Injects a set of Credentials into anything that conforms to the URLConvertible protocol. Usually wraps up
169175 a DotcomRequest (OR) JetpackRequest.
170176
@@ -268,25 +274,25 @@ for the iOS platform (and our specific requirements):
268274
269275It's important to note that in the proposed architecture Model Entities must be defined in two spots:
270276
271- A. ** Storage.framework**
277+ A. ** Storage.framework**
272278
273279 New entities are defined in the CoreData Model, and it's code is generated thru the Model Editor.
274280
275- B. ** Networking.framework**
281+ B. ** Networking.framework**
276282
277283 Entities are typically implemented as `structs` with readonly properties, and Decodable conformance.
278284
279285In order to avoid code duplication we've taken a few shortcuts:
280286
281- * All of the 'Networking Entities' are typealiased as 'Yosemite Entities', and exposed publicly (Model.swift).
282- This allows us to avoid the need for importing `Networking` in the main app, and also lets us avoid reimplementing, yet again,
283- the same entities that have been defined twice.
287+ * All of the 'Networking Entities' are typealiased as 'Yosemite Entities', and exposed publicly (Model.swift).
288+ This allows us to avoid the need for importing ` Networking ` in the main app, and also lets us avoid reimplementing, yet again,
289+ the same entities that have been defined twice.
284290
285- * Since ResultsController uses internally a FRC, the Storage.Model *TYPE* is required for it's initialization.
286- We may revisit and fix this shortcoming in upcoming iterations.
291+ * Since ResultsController uses internally a FRC, the Storage.Model * TYPE* is required for it's initialization.
292+ We may revisit and fix this shortcoming in upcoming iterations.
287293
288- As a workaround to prevent the need for `import Storage` statements, all of the Storage.Entities that are used in
289- ResultsController instances through the main app have been re-exported by means of a typealias.
294+ As a workaround to prevent the need for ` import Storage ` statements, all of the Storage.Entities that are used in
295+ ResultsController instances through the main app have been re-exported by means of a typealias.
290296
291297
292298
0 commit comments