文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>pureMVC 结构说明

pureMVC 结构说明

时间:2010-12-19  来源:陈同学

目录结构:

controller:放一些Command文件,在执行sendNotification后,这个类下会有execute方法来接收处理。

model

vo目录,下面放的是实体类

Proxy代理类(可以是多个,可以一个实体对应一个代理类):这个类主要是读取数据,发送通知(sendNotification方法)

View

UI目录,子组件

Mediator(可以是多个,可以一个组件对象一个代理类):这个类主要作用:

1.实例化UI组件并添加到主窗体中,并添加组件的事件。

2.接收Proxy执行后返回的信息,来更新UI组件。

ApplicationFacde:这个类主要是注册Common,Mediator,Proxy。

 

主窗体:

启动一下就可以了。

private var facade:ApplicationFacade=ApplicationFacade.getInstance();

facade.startup(this);

 

ApplicationFacde就开始注册Common,Mediator,Proxy

例:

1.注册Common(通知)

registerCommand(“事件名",SearchCommand);   

以后执行sendNotification(“事件名",参数),就会调用SearchCommand类下的execute方法了。

 

2.注册Mediator

facade.registerMediator(new XXXMediator(app));

这个类下可以批量注册通知,只要重写

//注册通知

      override public function listNotificationInterests( ):Array
        {
            var arr:Array=new Array();
            arr.push(XXXProxy.SEARCH_SUCCESS);
            arr.push(XXXProxy.SEARCH_FAILED);
            return arr;
        }

//处理通知
        override public function handleNotification(notification:INotification):void
        {
            switch(notification.getName())
            {
                case XXXProxy.SEARCH_SUCCESS:
                    setSearchSuc(notification.getBody());
                    break;
                case XXXProxy.SEARCH_FAILED:
                    setSearchFailed();
                    break;
                default:
                    break;
            }
        }

这样代理类中执行返回结果通知(sendNotification)时,就可以在这里来处理了。就没必要像Common那样还要再去注册个类来处理了。

 

3.注册Proxy

facade.registerProxy(new XXXProxy());

调用方法(在Command中的execute方法中使用):

var weatherProxy:WeatherProxy=facade.retrieveProxy(“XXXProxy”) as WeatherProxy;

weatherProxy.ABCWeather(“asdfasd”);

 

 

这里大概讲了些pureMVC的结构,认大家有个概念。里面细的东西还要去下个实例玩玩,就会清楚些。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载