objective-c - 模型视图控制器:控制器或者模型是否从服务器提取数据?

  显示原文与译文双语对照的内容

例如: 比方说我要抓取的名称列表并将其保存到一个NSMutableArray 。 我实现的方法实际上调用服务器以获取数据的控制器( UIViewController ) 或model( Friends对象)?

时间: 原作者:

它是一个设计决策,取决于你试图实现的目标。 如果你的模型仅有意义的上下文中单个服务或如果希望模型来提供访问所有服务器上的数据,然后生成与服务器的连接导入到你的数据模型。 这可能意义如果你服务的,例如,建立一个客户喜欢Twitter或Flickr 。

另一方面,如果你只是抓取一个文件从服务器那就到此为止,那么你可以将能执行中的通信控制器。 控制器往往更没有可重用和定制程度更高的特殊行为的应用程序。 开始保存细节的数据是从哪里出模型能提高模型的可重用。 它还可以轻松地测试可以编写测试的代码只是读取本地文件并将数据存储到模型。

原作者:

cp:这是个好问题. 我认为最好的方法是通过一个控制器以便程序能够正常工作,因为它可用来将你的模型从其他模型,使其无需存在。 不过我认为你既违反" 正确的mvc模型中的" 通过做这件事。

原作者:

我想你应该放到模型中。 你要做的是询问的模型数据,我们的模型将处理如何填充本身无论是从内部数据存储或外部项目( 就像服务器) 。

其中一个方法是使用存储库模式。 要执行此操作,你需要创建Repository Model "文件夹中的对象,然后你就给他们所有的人中与数据库有关的方法。 控制器在调用repository类来获取数据。 这样,你就可以独立的从数据库中真实的模型对象的访问方法。

原作者:

我会亲自制作DAO或数据帮助器类。 难以按照严格MVC Objective C 中时,事情会越来越复杂。 但是,并把它放入模型或VC也并不错误。

原作者:
...