zoukankan      html  css  js  c++  java
  • pureMVC 结构说明

    3200864164836

    这就是其结构。

    目录结构:

    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的结构,认大家有个概念。里面细的东西还要去下个实例玩玩,就会清楚些。

  • 相关阅读:
    1069: [SCOI2007]最大土地面积
    Kettle 解决数据锁的问题(事务(进程 ID 51)与另一个进程被死锁在 锁 资源上)
    Kettle配合Windows执行计划实现定时实行作业
    把本地项目同步到码云
    IDEA通过Maven WebApp archetype 创建Spring boot项目骨架
    从零开始完整搭建 Spring-Boot 项目开发框架的教程
    使用IDEA搭建Spring Boot入门项目
    Win10激活失败并提示错误代码0xC004C003的解决方法
    javascript (JS组成、书写位置、基本概念、作用域、内存问题、变量)
    HTML基础之标签
  • 原文地址:https://www.cnblogs.com/chencidi/p/1910915.html
Copyright © 2011-2022 走看看