• PureMVC源代码/架构研究


    puremvc是一个轻量级的mvc开源框架,运用它,可以让你的系统耦合性更低,扩展性更好。它的代码很简洁,估计不到千行,设计的架构确让人叹为观止。了解不深,用得不好,开发效率不高,新人的学习曲线很高,代码无法维护。我最近系统研读它的代码,代码虽然短,却博大精深

    • 整体架构

    先来看看puremvc的架构

    Model保存对Proxy对象的引用,Proxy负责操作数据对象,与远程服务端通信取数据。

    View保存对Mediator对象的引用。Mediator操作具体的视图元件,监听和发送相关的Notification,改变视图组件的状态。

    Controller保存所有Command的映射。Comand是无状态的,需要时被创建,通常比较复杂的业务逻辑都在Command中实现。

    Facade是整个框架的核心,它其实是Facade模式,封装了对 Model,Controller和View的操作,简化了相关接口的调用。

    • 相关的设计模式

    Proxy 代理模式 – 为其他对象如Command、Mediator提供对数据对象的操作

    Command 命令模式 – 将请求封装成一个对象,对象的发送者和接受者可以解耦。这里的Command主要是封装了相关的业务逻辑,可以获得Proxy 和 Mediator 的引用进行操作。

    Observer 观察者模式 – 一个监听的对象可以监听相关的事件Notification,当事件发生时,就可以更新相关的操作。比如Mediator监听相关的Notification,用于改变视图的显示。

    Mediator 中介者模式 – 该模式本意是封装一系列对象的交互,使得各对象不需要显式地互相引用,耦合松散。puremvc主要用它将视图元件的操作封装起来,所有对视图的操作的都必须通过Mediator

    Facade 外观模式 – 定义一个统一的简单的高层接口,使得整个系统更容易使用。puremve将Model View 和 Controller 的操作都统一管理。我们调用的时候都是通过facade的单实例来操作

    Singleton 单例模式 – 保证只初始化一次。这里的Facade、Model、View 和 Controller都是单例

    • 相关类结构图

    整体框架图

    View层

    Model层

    Controller层

    看完了代码,架构,该实践了,欢迎阅读我的另外一篇文章《PureMVC实例入门》

  • 相关阅读:
    2017中国大学生程序设计竞赛
    2017中国大学生程序设计竞赛
    2017中国大学生程序设计竞赛
    2017中国大学生程序设计竞赛
    计算几何之凸包模板
    计算几何之凸包模板
    Kafka知识点汇总
    python 爬虫1 開始,先拿新浪微博開始
    iOS 7的手势滑动返回
    Ctrl+Enter 选中文本提交
  • 原文地址:https://www.cnblogs.com/tinytiny/p/2528042.html
Copyright © 2020-2023  润新知