您的位置:

PureMVC框架详解

一、PureMVC课程

PureMVC是一种在面向对象编程方面的模式,它利用了MVC(Model-View-Controller)的构架,并且改变了它原有的结构,导致它变得更加优秀。它能够用在各种开发环境中,并且包含了多个版本及语言。PureMVC的课程主要有以下几个部分:

二、PureMVC基础知识

PureMVC基础知识包括了它的MVC框架及应用程序的工作原理。它的三层架构包括以下内容:


Model:这一层代表应用程序中的数据存储和访问,通常以对象形式存在。Model 数据代表了应用程序的内容和状态,也就是说,Model代表了所要展现的一切数据
View:这一层代表应用程序中的展示层,因此包括所有用户能够看到的东西。View 和 Model 相关联,Model 将数据传送到 View,从而显示出相关界面
Controller:这一层代表了用户进行交互的控制中心。在 Controller 中的代码将从一个 Model 状态转移到另一个 Model 状态,更改某个 Model 实例的数据,并最终改变 View 层的显示

三、PureMVC详解

PureMVC详解包括了PureMVC架构中的Mediator、Observer、Notification等概念及使用方法,具体包括以下内容:


Mediator:Mediator的作用是代理视图组件,处理视图组件需要的特定逻辑。当视图组件的触发事件被执行时,Mediator将把视图组件和数据模型相关聚在一起
Observer:Observer的作用是允许任何对象都能够对模型层的状态变化进行监听,当模型层发生改变时,它能够被及时的通知到,从而改变显示层的内容
Notification:Notification 是纯MVC结构中的一个基本单元,它是消息传递通信的基础

四、PureMVC框架详解

PureMVC框架详解主要包括以下细节:


Facade:Facade(外观)是架在MVC框架之上的一个“简单调用”接口,所有的Mediator、Proxy和Command的方法都可以通过Facade来间接的被访问到
Proxy:Proxy 是 Model 层实现数据存储和数据访问的一种载体,它可以是远程数据、本地文件、读取配置文件所得到的数据等等。Proxy 通过 Facade 中的 registerProxy 和 retrieveProxy 方法来注册和获取数据
Command:Command 执行具体的业务逻辑,通常 Command 的方法名以 Command 为后缀

五、PureMVC优化

PureMVC作为一个MVC框架,需要在编程实践过程中逐渐完善。优化主要包括以下几个方面:


封装:合理的对架构进行封装,提高模块化,减少程序中出现重复代码的情况
扩展:不管是架构层面还是在应用的使用当中,都需要不断的扩展,使其成为更加完整的架构
灵活性:MVC架构最大的好处就是灵活性,需要在使用中灵活运用,以最大程度的发挥效用
重构:针对程序的一些冗余代码和不必要代码进行重构,是提高程序的性能,使它更加简单易懂的一种方法

六、PureMVC知识点

关于PureMVC的知识点还包括以下几个方面:


Multiton:PureMVC实现了一个Multiton模式,这个模式可以保证一个名字空间(或Key)中只存在一个Facade实例
注入器:注入器(Injector)是一个工具,用于向MVC框架中动态注入任意的外部对象或属性
信使:Mediators 均可以利用 Facade 来发送 Notification 消息。这些 Notification 消息会被一系列 Command 监听,并执行一些操作

七、PureMVC基本设计理念

PureMVC的基本设计理念主要有以下几个概念:


Single Responsibility:单一责任原则是PureMVC设计中的主要思想之一。每个PureMVC类都具有自己独立的职责,并不会越俎代庖,努力限制一个类不要变得过于庞大
Separation of Concerns(关注点分离):关注点分离原则使得PureMVC能够清晰的对各种功能进行分离和调用
Loose Coupling(松耦合):PureMVC认为各个模块应该具有松散耦合的设计,这使得它的各种模块都能够拥有良好的时空复杂度

八、PureMVC Python

PureMVC的Python版本与其他版本非常相似,也是基于MVC模式构建的框架,具有以下特点:


Pythonic: 完全符合Python开发框架的习惯和读写习惯
简洁: 简明易懂的代码结构,为初级开发者提供了更好的使用体验
兼容性:PureMVC Python 支持Python 2.x和3.x

九、PureMVC的优缺点

PureMVC作为一种优秀的MVC框架,优缺点也非常显著:

优点:


高复用性:PureMVC 的模块都是独立的,耦合度也很低,模块都可以独立使用或者进行扩展
易于维护:PureMVC 不仅让代码变得更加结构化,也让人们更加容易地维护代码
功能强大:PureMVC的MVC框架设计,让模块之间调用方式清晰,功能明确

缺点:


学习成本高:学习和运用PureMVC框架是需要很高的技术和经验,需要较多的时间和精力
不可逆转的逻辑:其强制性的规范使得程序不能逆转于框架本身的内部逻辑要求中,给其扩展带来了困难

十、PureMVC工作流程

PureMVC框架的工作流程可以用以下流程图来描述:

![PureMVC工作流程](https://raw.githubusercontent.com/openjw/openjw.github.io/master/i/2021/puremvc.png)