pureMVC初尝试

刚接触flex 框架对你没什么好处,一旦对整个flex熟悉了,框架对你的作用就大了,国外有人对各种ria框架做过测评,最后评出pureMVC与caringorm是最优的,而pureMVC测评得分最高,pureMVC与Cairngrom比较,类少很多了、结构也要清晰一些,我看融入pureMVC会比较的容易点,pureMVC意为纯粹的MVC,pureMVC并不是flex或者flash框架,它与语言无关,它包括两个版本,标准版、MultiCore(多核)版,了解pureMVC,我觉得首先从pureMVC组成、各个组件职能、执行顺序去去了解它:

pureMVC是纯MVC框架 ,包含几个部分

Model(模型)ValueObjectProxy

View(视图)ComponentMediator

Controller(控制器)Command

当然还有Facade部分他是总指挥,MediatorCommand Proxy Facade都继承了Inotifier功能,因此都具有发送Notifacation的功能

ValueObject:简称VO,值对象,也叫实体对象,不说应该明白

 

Proxy:直译代理,而在程序中一般都是直接操作数据的,比如访问httpServicewebServiceRemoteObjectSocket操作,而Proxy方法一般由Command来调用,当然也可以在Mediator中直接调用,两者都是通过facade.retrieveProxy()获取Proxy示例来调用的。

      

Component:视图组件

    发送事件、接收客户端输入数据

   

Mediator:调解视图组件与其他部分交互的,Component操作数据,Mediator就相应发送操作数据的Notification

       listNotificationInterests

handleNotification

Command 

       execute 执行Command

       addSubCommand()

Facade

       startup 启动方法

       单例模式

registerProxy

    registerCommand

registerMediator

 

1.View发事件出来 ----> 2.Mediator监听了事件,触发发送通知  ------> 3.Command接收通知调用Proxy-----> 4.Proxy发出通知发出数据 ----------> 5.Mediator接收通知把数据显示到View

 

另外MultiCore版基本上和标准版是差多不的,facade是pureMVC的核心,标准版的facade只会存在一个,多核版本facade会有多个,它的实例会在instanceMap中保存,所以用多核时需要这样去获取实例facade:

  public static function getInstance( key:String ):IFacade {
      if (instanceMap[ key ] == null ) instanceMap[ key ] = new Facade( key );
      return instanceMap[ key ];
  }

 

反思:这样一个小框架在实际项目中的应用真的会那么轻松便捷吗?这个还需要去尝试尝试

写了一个很简单登陆的pureMVC例子

你可能感兴趣的:(数据结构,mvc,框架,webservice,Flex)