• PureMVC(JS版)源码解析(八):Proxy类


    前面,我们讲了与视图相关联的Mediator类,接下来我们讲讲与数据相关联的Proxy类。

    关于Proxy类的作用,在Proxy类源码中,有这么一段注释: 
     * In PureMVC, Proxy classes are used to manage parts of the application's data 
     * model.

    翻译成中文就是,在PureMVC中,Proxy类用来管理应用的数据模型。

    Proxy类的结构很简单,一个和Mediator类功能一样的NAME静态成员,还有一个data属性,用来存储proxy管理的数据。

    /**
     * @ignore
     * The Proxys name.
     *
     * @protected
     * @type String
     */
    Proxy.prototype.proxyName= null;
    
    /**
     * @ignore
     * The Proxy's data object.
     *
     * @protected
     * @type Object
     */
    Proxy.prototype.data= null;

    这两个属性都有get/set方法(getProxyName()/setData()/getData())。

    接下来,我们看看Proxy类的构造函数:

    function Proxy(proxyName, data)
    {
        this.proxyName= proxyName || this.constructor.NAME;
        if(data != null)
        {
            this.setData(data);
        }
    };

    Proxy类通过构造函数为proxyName和data属性赋初值。

    Proxy类继承Notifer类,因此它可以发送消息,但他是一个纯粹的通知者,它不具备接受消息的功能,这一点需要记住。

    Proxy.prototype= new Notifier;
    Proxy.prototype.constructor= Proxy;

    另外,和Mediator类一样,Proxy类也要在facade中注册,它也有onRegister()/onRemove()方法,这里就不在陈述,具体用法和Mediator类的onRegister()/onRemove()用法一样。
     
    总结一下:Proxy类的结构很简单,我们只需要记住两点,一是它有一个data属性,可以用来存储它所管理的data model,二是它可以发送消息,不能接受消息。 
     
    最后,同样附上Proxy类的思维导图:
  • 相关阅读:
    【推荐】iOS汉字转拼音第三方库
    iOS实现图像素描效果
    iOS实现图像的反色,怀旧,色彩直方图效果
    iOS实现图像指定区域模糊
    iOS 9.2新增API
    讲讲我的开发生涯
    iOS第三方类库汇总【持续更新】
    美图秀秀-美化图片之【背景虚化】界面设计
    美图秀秀-美化图片之【特效】界面设计
    iOS二十种超酷时尚艺术滤镜汇总【附源码】
  • 原文地址:https://www.cnblogs.com/iRavior/p/3360425.html
Copyright © 2020-2023  润新知