puremvc ppt

### PureMVC框架详解####一、概述PureMVC是一个开源的、灵活的、遵循MVC(Model-View-Controller)设计模式的框架,主要用于构建可扩展、可维护的客户端应用程序,尤其是在Flex和ActionScript 3环境中。通过分离关注点的方式,PureMVC能够帮助开发者更好地组织代码,提高代码的可读性和重用性。 ####二、PureMVC的核心概念**1. Model与Proxy** - **Model**:代表应用的数据模型,负责管理应用程序的状态。 - **Proxy**:作为Model的一部分,负责与数据存储进行交互,处理数据的获取、存储和更新等操作。每个Proxy都对应一种数据类型,并且通常包含对该类型数据的操作方法。 **2. View与Mediator** - **View**:表示用户界面的布局和外观,是用户与应用程序交互的主要途径。 - **Mediator**:作为View的一部分,负责协调和控制View组件的行为,处理来自用户的输入,并向Model发送请求以更新数据状态。每个Mediator通常与一个或多个View组件相关联。 **3. Controller与Command** - **Controller**:作为应用的指挥中心,负责响应用户动作,调用合适的Command来处理这些动作。 - **Command**:负责执行具体的业务逻辑,通常是针对某个特定的事件或动作做出反应。 **4. Façade与Core** - **Façade**:作为PureMVC框架的核心入口,为开发者提供了一个统一的接口来访问Model、View和Controller的功能。 - **Core**:指代Model、View和Controller这三个核心组件的集合。 **5. Observer与Notification** - **Observer**:是一种观察者模式的实现,允许对象注册自己成为特定事件的通知接收者。 - **Notification**:用于在PureMVC框架内部传递消息,可以被用来触发Command的执行。当某个对象发送Notification时,所有已注册的Observer都会收到这个通知,并根据自身逻辑进行响应。 ####三、PureMVC的具体应用**1.具体Façade是什么样子的?** - Façade通常包含初始化框架的方法,如`initializeModel()`、`initializeView()`、`initializeController()`等。此外,还可能包含一些便捷方法,如`sendNotification()`、`registerCommand()`等,用于简化常用操作。 **2.为程序创建Façade** -创建一个名为`AppFacade`的类,继承自`org.puremvc.core.Facade`。 -在`AppFacade`中定义静态方法`initialize()`,并在该方法中调用`super.initialize()`来初始化核心层。 **3.初始化Façade** -在主程序启动时,通过调用`AppFacade.initialize()`来初始化整个PureMVC框架。 **4. Notification** - `Event`与`Notification`的区别在于,`Notification`不仅可以携带数据,还可以携带事件类型,更适用于跨组件之间的通讯。 -定义`Notification`和`Event`常量可以帮助统一消息的标识符,提高代码的可读性和可维护性。 **5. Command** - `SimpleCommand`用于处理简单的业务逻辑,而`MacroCommand`则可以包含一系列子命令,用于处理更复杂的流程。 -通过降低Command与Mediator、Proxy之间的耦合度,可以使各个组件更加独立,提高系统的灵活性和可扩展性。 **6. Mediator** - Mediator的职责包括管理与其关联的View组件的状态,监听并响应View组件的事件,以及处理Notification。 -转化ViewComponent类型意味着Mediator需要知道如何将原始数据转换为ViewComponent可以理解的形式。 **7. Proxy** - Proxy的职责包括转换数据对象,避免对Mediator的依赖,封装域逻辑,以及与远程代理(RemoteProxy)进行通信。 -通过合理设计Proxy,可以确保数据操作的独立性,提高系统的可测试性和可维护性。 ####四、总结PureMVC框架通过清晰地划分Model、View和Controller三个层次,有效地降低了各组件之间的耦合度,使得应用程序更加易于扩展和维护。对于Flex和ActionScript 3开发者而言,掌握PureMVC不仅可以提升个人技能,还能显著提高项目开发的效率和质量。
pdf 文件大小:504.57KB