【发布时间】:2014-06-11 22:06:34
【问题描述】:
我的问题主要与 Objective C 中分层模型的架构或设计模式有关。作为背景,我的应用程序相对简单。通常,它与 Web 服务对话以检索和显示用户可以关注的内容。当有人关注某事时,他们关注的内容在概念上会被存储起来,以便稍后通过发布到 Web 服务来访问。
我想就管理 Web 服务与用户关注的事物组之间的交互的逻辑应该去哪里提供建议。
例如,创建一个像MyStuffModel 这样的模型对象是否合适,该对象具有一个名为followedThings 的数组属性,该属性包含对AThingModel 对象的引用?如果是这样,是否会在模型中编写和执行从 Web 服务等刷新的逻辑?
潜在的代码示例
@interface MyStuffModel : NSObject
@property (nonatomic, strong) NSArray *followedThings;
- (void)refreshAllFollowedThingsFromWebService;
@end
@implementation MyStuffModel
- (void)refreshAllFollowedThingsFromWebService
{
//call my API client (built on AFNetworking), get back a response
//populate followedThings, notify a view controller, etc
}
@end
或者,我是否应该没有MyStuffModel 对象并通过直接从视图控制器调用我的 API 客户端来管理对我的 Web 服务的调用?
根据您的经验,需要哪种方法?还是有其他方法?
【问题讨论】:
-
只是吹毛求疵:
NSObject不是 ObjectiveC 的一部分;它是使用 ObjectiveC 的最著名框架 NextStep/Cocoa 的一部分。然而,这个问题并不是真正的 ObjectiveC 或 Cocoa 特定的。
标签: ios objective-c design-patterns