Gitlib Gitlib
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)

Ravior

以梦为马,莫负韶华
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)
  • PHP

  • Golang

  • Python

  • Javascript

    • PureMVC

      • PureMVC(JS版)源码解析:认识PureMVC
      • PureMVC(JS版)源码解析01:观察者模式解析
      • PureMVC(JS版)源码解析02:Notification类
      • PureMVC(JS版)源码解析03:Observer类
      • PureMVC(JS版)源码解析04:Notifier类
      • PureMVC(JS版)源码解析05:SimpleCommand类
      • PureMVC(JS版)源码解析06:MacroCommand类
      • PureMVC(JS版)源码解析07:Mediator类
      • PureMVC(JS版)源码解析08:Proxy类
        • PureMVC(JS版)源码解析09:View类
        • PureMVC(JS版)源码解析10:Controller类
        • PureMVC(JS版)源码解析11:Model类
        • PureMVC(JS版)源码解析12:Facade类
        • PureMVC(JS版)源码解析:总结
      • 从一个基础Javascript面试题谈起
      • Javascript垃圾回收机制
      • Javascript实现双向数据绑定
      • 浏览器渲染网页过程
      • 浏览器资源缓存机制总结
    • 其他语言

    • 编程语言
    • Javascript
    • PureMVC
    Ravior
    2013-10-10
    目录

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

    PureMVC

    上篇文章,分析与视图相关联的Mediator类,接下来分析与数据相关联的Proxy类。

    关于Proxy类的作用,在Proxy类源码中,有这么一段注释:

     * In PureMVC, Proxy classes are used to manage parts of the application's data 
     * model.
    
    
    1
    2
    3

    翻译成中文就是,在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;
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18

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

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

    function Proxy(proxyName, data)
    {
        this.proxyName= proxyName || this.constructor.NAME;
        if(data != null)
        {
            this.setData(data);
        }
    };
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

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

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

    Proxy.prototype= new Notifier;
    Proxy.prototype.constructor= Proxy;
    
    
    1
    2
    3

    另外,和Mediator类一样,Proxy类也要在facade中注册,它也有onRegister()/onRemove()方法,这里就不在陈述,具体用法和Mediator类的onRegister()/onRemove()用法一样。

    # 总结

    Proxy类的结构很简单,只需要记住两点:

    • data属性,可以用来存储它所管理的data model
    • 可以发送消息,不能接受消息
    #PureMVC
    上次更新: 2022/12/01, 11:09:34
    PureMVC(JS版)源码解析07:Mediator类
    PureMVC(JS版)源码解析09:View类

    ← PureMVC(JS版)源码解析07:Mediator类 PureMVC(JS版)源码解析09:View类→

    最近更新
    01
    常用游戏反外挂技术总结
    11-27
    02
    Golang开发实践万字总结
    11-11
    03
    Redis万字总结
    10-30
    更多文章>
    Theme by Vdoing | Copyright © 2011-2022 Ravior | 粤ICP备17060229号-3 | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式