文章目录
  1. 1. Apple中理想的MVC模式
  2. 2. Model Objects
  3. 3. View Objects
  4. 4. Controller Objects

在软件开发工程中,我们常常用到架构模式,以及设计模式,良好的架构模式会让整个项目层次清晰,维护容易。我们来谈下MVC的架构模式在iOS中的使用。
先简单介绍一下MVC这个模式,Model-View-Controller是我们比较常用的架构模式。这样的架构模式在一个应用程序,赋予了对象三种作用:model,view,和controller。这样不止定义了每个对象在程序中的角色,还有定义了各个对象之间的关系。三种类型的对象被抽象的划分,以及清楚的明确职责。简单来说,每个层级之间做好自己的事,不干预其他对象之间的关系,只关心我和其他层级之间的连接方式和开放的接口。具有一定的对象的集合在MVC模式中有时会被归类为层的例子,例如模型层。

Cocoa框架中的核心设计就是MVC,当然在这一设计模式中有很多好处不言而喻。
模型的复用性
许多模型对象在程序中可以被重复使用,他们的接口可以被更好的定义以及理解。
易用性和拓展性
在一个工程中使用MVC会更好的扩展,此外Cocoa框架是基于MVC的架构,而且需要自定义的模型需要在其中扮演一种作用。

Apple中理想的MVC模式

Model Objects

模型对象根据应用程序的业务场景封装了特定的数据,并且定义操作的逻辑和计算处理数据。举个例子,一个模型对象可能表示游戏中的角色或者是通讯录中的联系人。它可能有一对一或者一对多的关系,有时一个应用程序的模型层实际上是一个或者多个对象的图表。更多应用程序中的模型是一种持久的状态(无论是作为文件或者数据库中),应该在数据转换到模型上之后加载到程序中。模型应该就是本身独立于项目的存在,将业务中的实体和类型理解成类和对象的关系应用到程序中。

用户在View层操作的响应和输入的数据会通过controller来创建或者改变具体的实例模型对象。当一个模型对象改变的时候(比如网络请求后的数据拿到后)会去通知到controller对象来刷新对应的View对象。

View Objects

Controller Objects