(待修改,未稳定)
一、PureMVC概述
PureMVC是开源的MVC框架。
PureMVC最先用AS3实现(以下均指AS3版),
库、demo和源代码下载在(见右面的download链接):
http://trac.puremvc.org/PureMVC_AS3/
PureMVC分两个版本:
Standard version(标准版):使用Facade单实例维护proxy, mediator和command的所有缓存。
MultiCore version(多核版):使用多例的方式维护标准版四个角色各自的单实例。
所谓四个角色,就是Facade(外观)、Model(模型)、View(视图)、Controller(控制器)。
后三者的首字母合起来就是MVC(模型-视图-控制器)模式。
除了FMVC外、PureMVC还实现一种类似于AS3事件机制的通知系统。
通知不是用Event类实现。
不是使用addEventListener,而是用对象注册的方式。
不是使用dispatchEvent,而是用sendNotification对MVC核心发送通知。
所以PureMVC框架能有效减弱视图与视图之间,视图与MVC内核之间的强耦合。
二、PureMVC用户代码和核心代码的公共依赖类和接口(合计24个)
1. PureMVC的用户代码可能会依赖于以下类和接口。
(注意,用户方只有INotification,而没有Notification的概念。
另外接口类的命名统一使用I开头)
(1)全局部分:
org.puremvc.as3.patterns.facade
org.puremvc.as3.interfaces.IFacade
外观(facade是法语词汇)。单实例。提供访问PureMVC核心的唯一途径。
它是使用PureMVC解耦机制的唯一手段(当然还需要下面类和接口)
(2)视图部分:
org.puremvc.as3.patterns.mediator.Mediator
org.puremvc.as3.interfaces.IMediator
中介。
(3)控制器部分:
org.puremvc.as3.interfaces.INotification
通知。
org.puremvc.as3.patterns.command.SimpleCommand
org.puremvc.as3.interfaces.ICommand
命令。
org.puremvc.as3.patterns.command.MacroCommand
宏命令。
org.puremvc.as3.patterns.command.AsyncCommand
org.puremvc.as3.interfaces.IAsyncCommand
异步命令。
注意IAsyncCommand大多时候用在PureMVC的核心代码中,不需要用户代码实现。
org.puremvc.as3.patterns.command.AsyncMacroCommand
异步宏命令。
(4)模型部分:
org.puremvc.as3.patterns.proxy.Proxy
org.puremvc.as3.interfaces.IProxy
代理。
2. 除以上外,PureMVC的核心代码依赖于以下类和接口。
注意,下面的类都是程序员不需要关心的(除非看调试堆栈)
(1)控制器部分:
org.puremvc.as3.core.Controller
org.puremvc.as3.interfaces.IController
控制器。单实例。
(org.puremvc.as3.interfaces.IAsyncCommand)
(多数用于核心代码,由AsyncCommand实现)
(2)模型部分:
org.puremvc.as3.core.Model
org.puremvc.as3.interfaces.IModel
模型。单实例。
(3)视图部分
org.puremvc.as3.core.View
org.puremvc.as3.interfaces.IView
视图。单实例。
org.puremvc.as3.patterns.observer.Notifier
org.puremvc.as3.interfaces.INotifier
通知者,Mediator的基类。
org.puremvc.as3.patterns.observer.Observer
org.puremvc.as3.core.IObserver
观察者。由View(视图单实例)和Controller(控制器单实例)创建和使用。
目的是保存和访问IMediator的handleNotification方法。
org.puremvc.as3.patterns.observer.Notification
通知的实现。不会出现在用户代码中。
(待补充)
更新日志:
2011-02-18 修改INotifier和Notifier的名字空间(搞错了,写成多核版)
相关推荐
4. **通知(Notifications)**:PureMVC使用Notification对象作为通信机制,使得模型、视图和控制器之间的通信变得简单而统一。Notification包含类型、名称和可选的数据,可以通过Facade发送并被任何注册的Observer...
标题 "PureMVC 中文版" 指的是 PureMVC 框架的一个中文版本,这是一款广泛应用的开源框架,特别设计用于构建富互联网应用程序(RIA),尤其是基于Adobe Flex和ActionScript 3的项目。PureMVC 提供了一种模块化、结构...
标题中的“初探PureMVC:使用PHP+MySQL+Flex结合PureMVC框架做了个Flex留言本”揭示了本文将探讨如何使用PureMVC框架,结合PHP后端和MySQL数据库,构建一个基于Flex的前端留言本应用。PureMVC是一个轻量级、可扩展的...
标题中的“PureMVC中文教程”表明这是一份关于PureMVC框架的中文学习资料,主要面向想要理解和掌握这一框架的开发者。PureMVC是一个开源的、轻量级的、跨平台的MVC(Model-View-Controller)设计模式框架,它提供了...
本教程将基于PureMVC框架讲解如何实现一个经典的“贪吃蛇”游戏,以此来深入理解PureMVC的核心概念和工作流程。 在MVC设计模式中,模型(Model)负责处理数据和业务逻辑,视图(View)负责显示数据,而控制器...
5. **通知(Notifications)**:PureMvc使用`Notification`对象作为不同层间通信的载体,例如`LOGIN_REQUEST`和`LOGIN_SUCCESS`通知分别用于触发登录和通知登录结果。 6. **门面(Facade)**:作为全局的单一访问点...
1. **模块化**:PureMVC提供了一种方式来组织应用程序为多个独立的模块,每个模块都有自己的MVC组件,可以独立地开发和测试。 2. **非侵入式**:PureMVC的组件并不直接依赖于应用程序的业务逻辑,而是通过消息传递...
4. **中间件(Middleware)**:PureMVC还包括了中介者(Mediator)和通知(Notification)的概念。中介者是视图组件和视图之间的通信桥梁,它实现了`PureMVC.IMediator`接口,负责监听和响应特定视图事件。在登录...
4. **通知(Notifications)**:PureMVC使用一种称为Notification的机制来实现各层间的通信。通知是一种无类型的事件,可以被任何层发布,并被其他任何层监听。这种方式使得组件间解耦,便于扩展和维护。 5. **宏...
PureMVC是一种遵循模型-视图-控制器(MVC)设计模式的框架,它强调程序的三大核心部分:数据模型(Model)、视图(View)、和控制器(Controller)的分离,以便于多个视图可以共享同一数据模型,而当数据发生变化时...
PureMVC是一种轻量级、模型-视图-控制器(MVC)框架,最初是为ActionScript开发的,后来被移植到多种编程语言中,包括C++。它提供了一种组织代码结构的方式,使得开发者可以更高效地构建可维护和可扩展的软件应用。 ...
下面我们将深入探讨PureMVC的核心概念、主要组件以及如何使用AS3.0实现它。 1. **纯MVC模式**: - **模型(Model)**:负责应用程序的数据管理,通常与数据存储或服务端交互,保持数据的一致性和完整性。 - **...
标题中的“一个很好的puremvc实例”表明我们即将探讨的是关于PureMVC框架的实际应用案例。PureMVC是一个轻量级的、跨平台的MVC(Model-View-Controller)设计模式实现,它主要应用于创建复杂但组织良好的应用程序...
4. **模块化设计**:PureMVC支持多模块架构,如何创建和管理多个独立的MVC子系统。 5. **应用场景与最佳实践**:PureMVC在实际项目中的使用场景,以及如何优化和扩展框架。 6. **Hello World示例**:通常会通过一...
PureMVC是一个开源的、轻量级的框架,专门用于构建多层应用程序。它采用Model-View-Controller(MVC)设计模式,并提供了一种在ActionScript 3中实现这一模式的方法。标题提到的"puremvc最新版本2.0.4源码",意味着...
1. 结构清晰:PureMVC的MVC结构使代码易于理解和维护。 2. 可扩展性:通过添加新的Commands、Proxies和Mediators,可以轻松扩展功能。 3. 解耦合:组件间通过Notifications通信,降低了组件间的耦合度。 4. 重用性:...
- 源代码:PureMVC的Unity实现,包括`.cs`文件,这些文件实现了PureMVC的核心组件,如`Proxy`, `Mediator`, `Command`等。 - 示例项目:可能包含一个简单的Unity项目,演示了如何在实际项目中使用PureMVC框架。 - ...
4. **通知(Notification)**:PureMVC使用`Notification`作为各个组件间通信的主要手段。Notification是一个简单的事件对象,包含一个名称和可选的附加数据,允许任何组件发送通知,并让其他组件订阅并响应。 5. *...
以下是对PureMVC框架核心概念的详细解释: 1. **Proxy(代理)**:在PureMVC中,Proxy作为Model的一部分,负责管理和存储应用的数据。它通常包含对业务逻辑或数据源的访问,提供了一种统一的方式来处理和存储数据...
10. **学习曲线**:PureMVC的简单API和清晰的架构使得开发者能够快速上手,同时也有助于团队成员间的协作和代码审查。 在"puremvc-csharp-standard-framework-master"这个压缩包中,你将找到PureMVC C#标准版的源...