谈谈MVC

来源:互联网 发布:电子图书馆软件 编辑:程序博客网 时间:2024/05/17 07:45

MVC是什么?

Model-View-Controller (模型- 视图-控制器) 较为常见的软件设计模式之一,通常应用于大型得应用程序

 

模型(Model)  指数据模型

作用:数据封装, 封装一个模型的各种属性 举例:身份证(卡片上)都封装有姓名、性别、民族、出生年月、住址、身份号

视图(View)    指用户界面

作用:显示功能界面,为客户端用户提供GUI交互

控制器(Controller)指控制器

作用:处理View的响应事件(业务逻辑)

MVC的优点?

耦合度低:由于模型、视图、控制器相分离,容易维护

可重用性高:由于视图负责格式化数据并把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以可重用性大大提高。

可维护性高:分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。

三者的通讯方式

Controller与View:主要通过Target-Action,Delegate,Datasource

                                   Controller可以直接跟View通讯

                                   View的数据通过dataSource从Controller初获取

                                   View通过Delegate和Controller同步信息

Model与Controller:主要通过Notification,KVO

                                     Controller可以直接操作Model通讯

                                     Model只能通过Notification和KVO跟Controller间接性通讯