码迷,mamicode.com
首页 > Web开发 > 详细

PureMVC 框架总结收录

时间:2015-02-04 21:45:29      阅读:389      评论:0      收藏:0      [点我收藏+]

标签:

PureMVC框架的目标很明确,就是把程序分为低耦合的三层:ModelViewController

通过使用PureMVC后,我们的代码将集中分为以下几个部分:FaçadeCommandMediatorProxy以及UI部分,还有一些数据结构的定义如Value Object,所有核心的逻辑都在CommandMediatorProxy中。

1.      Façade:

管理着ControllerModelView,并且通过他们建立起NotificationCommand以及NotificationMediator之间的消息映射。

其中ControllerModelView都是在框架中实现,对用户来讲是不可见的。

一般一个Application都有一个Façade子类,并在系统初始化的时候进行Façade的初始化。

3个比较重要的Protected初始化函数:

initializeController() – 初始化NotificationCommand之间的映射

            registerCommand(LOGIN, LoginCommand);

initializeModel() – 初始化Model层,主要是Proxy的注册

            registerProxy(new SearchProxy());

initializeView() – 初始化View层,主要是Mediator,并Mediator指定具体的Notification Body,通常就是具体的UI view

            registerMediator(new ApplicationMediator());

通常ProxyMediator都是在收到具体Notification后第一次调用的时候进行注册,特别是Mediator,它需要一个对UI view的具体引用,在façade中无法得到

2.      Command

一般处理系统主要的Business Logic。通过Façade中的Controller注册并侦听每个Notification,当收到某个Notifiaction后,Controller会实例化一个Notification对应的Command类对象,然后调用Commandexecute()方法并将Notification作为参数传递给它。

Command包括两种SimpleCommandMacroCommand,实际上MacroCommand就比SimpleCommand多维护一个subCommands数组,在调用MacroCommandexecute方法是,会遍历该数组并按顺序调用每个commandexecute方法

Command里可能会处理以下逻辑:

A.     注册或删除MediatorProxy以及其他Command

B.     发送Notification通知其他Command或者Mediator做出响应

C.     获取ProxyMediator对象,直接操作它们

3.      Mediator

Mediator是界面UI部分和系统其他部分交互的中介。它的主要职责是处理UI和其他Mediator或者Command发出的Notification

Mediator通过2种方式监听着系统发出的消息

  1. 普通的addEventListener(eventName, onHandler)
  2. 定义感兴趣的Notification和收到Notification后的处理函数

如下代码:

override public function listNotificationInterests():Array{

      return [

            ApplicationFacade.MY_CLICK

      ];

}

           

override public function handleNotification(notification:INotification):void{

      switch(notification.getName())

      {

            case ApplicationFacade.MY_CLICK:

                  myView.text.text = notification.getBody() as String; 

                  break;

      }

}

 

PureMVC 框架总结收录

标签:

原文地址:http://www.cnblogs.com/-yan/p/4273285.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!