您的位置:首页 > 其它

MVC设计模式的逻辑层解刨

2016-03-26 00:15 246 查看
什么叫MVC设计模式

MVC=Model(模型)+View(视图)+Controller(逻辑控制)

MVC的主要目的是实现V跟M之间的分离,他们是不够之间通信,要通过C过度。(实际上要记住 V跟M是可以通讯的 不过你最好别那么做 因为它违背了MVC设计思想 这才是重点好吗)

分解如下

Model:

数据模型保存应用程序的数据

View:

视图是模型的可视化表示以及用户交互的控件;基本上来说,所有的UIView对象以及它的子类都属于视图

Controller:

控制器的作用就是把模型跟视图关联到一起,起到桥梁作用。它访问模型中的数据并在视图中展示它们,同时它们还监听事件(比如用户的点击事件)和根据需要操作数据。

MVC消息发送机制

附上一张手绘的MVC逻辑图(不要吐槽哈哈)



名词解释:

一: View到Controlle的传值

1 action–>target 普通的事件响应 比如在View层按了一个Button,这个button会通过定义在controller的target响应

2.delegate 比如我在View上滑动图片 这时候就需要用到代理来处理这个事件到Controller

3.比如一个现实网页视图的View 要显示多小条的数据 那么就要通过data source 来告诉Controller请求多条数据(当然最近的数据还是在model层 Controller是一中介)

4.以上3条都是View响应点击事件 这才是重点

二:Model到Controller的传值

1.通知:model一般保存的是网络数据 如果网络数据发送改变 这时候 model 就是广播一个通知 controller收到通知就改变最后重现到视图层

2.KVC 这个跟通知的实现逻辑差不多 就不累赘

三:Controller到View

1.outlet属性:outlet是一个关联视图层的输出接口属性 这不用多说了把

MVC设计模式的优点

一:mvc设计模式可以提高代码的重用性

二:降低耦合度(关联性) 视图层跟数据模型分开,这样就可修改视图层代码,而不用改动数据模型和控制器的代码*业务流程只需改变数据模型代码(比如请求数据的方式变动)也不要改动视图跟控制器的代码*
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: