MVC
什么是MVC:
MVC从字面上理解为:model(模型),view(视图),controller(控制器)。主要的特点在于将数据与视图分离开来。
MVC的特征和体现:
- view上现实什么东西取决于model,及view会随着model的改变而改变
- controller负责初始化model,并将model传递给view。
- model模型对象:封装了应用程序的数据,并定义了操控和处理数据的逻辑和运算。
- view对象:是在应用程序中用户可以看见的对象,有对于用户操作响应的功能。视图对象主要就是来显示model对象,并可使model对象可编译。
- controller:是view和model交互的媒介。
MVC 通讯
- model和view之间永远不能通讯,只能通过controller传递。
- controller可以直接和model通讯(读写调用Model),model通过Notification和KVO机制与Controller间接通讯。
- controller可以直接和view交互,并掌控着view的生命周期。view可以通过action把用户的touch,move操作反馈给controller
MVC 的不足
- 严重失衡的比例,过于轻量级的model,以及臃肿庞大的controller。
随着业务不断的深入,service服务已经不足以满足客户端的数据要求了,所以一部分逻辑会移入客户端,自然而然的就写入controller。- 遗失的网络层逻辑。mvc对于所有对象都被归类为,view,model,controller。相对其他不少的业务逻辑无法归类,大多数都只能写入到controller。
- 可测试性较差,很难做出单元测试。