现在的位置: 首页 > 综合 > 正文

Pure MVC学习

2013年11月12日 ⁄ 综合 ⁄ 共 1558字 ⁄ 字号 评论关闭

Pure MVC 初识

    pureMVC框架的目标很明确,即把程序分为低耦合的三层Model、View和Controller。在pureMVC实现的经典MVC元设计模式中,这三部分有三个单例模式类管理,分别是Model、veiw和controller。三者是核心层或说核心角色。

    pureMVC中还有一个单例模式类——Facade,Facade提供了与核心层通信的唯一接口,以简化开发程度。它负责初始化核心层,并访问他们的Public方法。Facade是三者的经纪人。该类可以当成抽象类,永远不要被实例化,针对具体程序编写Facade的子类,添加或重写Facade的方法来实现具体应用。

pureMVC的通信是使用观察者模式以一种松耦合方式实现的。

    Model保存对Proxy对象的引用,Proxy负责操作数据模型,与远程服务通信存取数据。

    View保存对Mediator对象的引用,由Mediator对象来操作具体的视图组件。

    Controller保存所有Command的映射,Command类是无状态的,只有在需要时创建。

Pure MVC 二

    VO:value object 值对象,主要对应页面上显示的数据对象,可以和数据库表对应也可以不对应。

    PO:persistent object 持久对象,也被简称Data对象,对应数据库中的实体,可以简单的理解为一个PO对应数据库中的一条记录。PO中不应该包含任何对数据库的操作。

    VO通常用于业务层之间的数据传递和PO一样也仅仅包含数据而已。

    retrieveProxy();通过此方法调用相应的Proxy,只需要传入Proxy的名称即可。

Pure MVC 三

pure Mvc中实现了MVC设计模式,三个部分由三个单例模式类管理,分别为Model、ViewController,三者合称为核心层。
    pure Mvc中还存在另外一个单例,Facade提供了与核心层通信的唯一接口。

Model保存了对Proxy对象的引用,Proxy负责操作数据模型(调用Json接收相应面板的Mediator中发送的Notification,连接后台接收数据存入相应Vo),与远程服务通信存取数据。model里面一般放着一个view向对应的Proxy和Vo。View保存对Mediator对象的引用。用Mediator对象操作具体的视图组件,包括:显示视图添加事件监听,发送或接收Notification,直接改变组件的状态。

Controller保存所有Command的映射。command类是无状态的,只在需要时创建。

Command可以获取proxy对象并与之交互,发送Notification,执行其他的command经常用于复杂的或系统范围操作,如应用程序的启动和关闭,应用程序业务逻辑应该在这里实现。

Facade类应用了单例模式,负责初始化核心层,并能访问它们的Public方法。

Proxy、Mediator和Command可以通过创建的Facade类来相互访问通信。

PureMvc通信不采用falsh的Event/EvenDispatch,它是使用观察者模式以以一种松耦合的方式来实现。

当View注册了Mediator时,Mediator的listNotifitions的方法会被调用,以数组的形式返回Mediator对象所关心的所有Notification。

proxy发送但不接收Notification

Proxy从远程服务器接收到数据,发送Notification告诉系统,或当Proxy数据被更新时发送Notification告诉系统。

Facade类应被看做抽象类,永远不要被直接实例化。针对具体应用程序编写具体Facade的子类,添加或重写Facade的方法来实现具体应用。

抱歉!评论已关闭.