(待修改,未稳定)
一、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的名字空间(搞错了,写成多核版)
相关推荐
PureMVC学习资料与案例PureMVC学习资料与案例PureMVC学习资料与案例PureMVC学习资料与案例
NULL 博文链接:https://as3.iteye.com/blog/995034
介绍了PureMVC框架结构以及PureMVC下消息发送机制,有助于更好的了解和学习PureMVC架构
PureMVC教程,是学习PureMVC框架的好文章,PureMVC教程,是学习PureMVC框架的好文章,PureMVC教程,是学习PureMVC框架的好文章PureMVC教程,是学习PureMVC框架的好文章,PureMVC教程,是学习PureMVC框架的好文章,PureMVC...
PureMVC五子棋游戏源码,学习PureMVC
用PureMvc开发Air项目,完整工程实例。 学PureMvc的第一个完整例子
如你下载后的存放的目录是D组:/下载,解压后将创建一个名为PureMVC_AS3_2_0_4的文件夹(注:其中的2_0_4是版本号) ; 打开PureMVC_AS3_2_0_4文件夹,您会发现里面有三个文件夹: asdoc :对应于API的文档,它的首页...
NULL 博文链接:https://as3.iteye.com/blog/903252
pureMVC框架 pureMVC源码 学习pureMVC的知识
这是一个使用C#开发语言的基于PureMVC框架的Web登录Demo,是网上绝无仅有的实例。 本文以初学者的视角,详细地介绍PureMVC在ASP.NET的应用。 PureMVC不仅仅是Flex的MVC框架哦,而且它非常的小巧,还等什么呢,快来...
这个是一个根据AS3(ActionScript 3) pureMVC而转换过来的lua pureMVC。所有的接口完全跟AS3版本一致。 若是想使用,可以直接查看网上的pureMVC 文档,我并未对任何一个函数改名或者更换参数位置。 注意,这个PureMVC...
按照puremvc官方网站教程做的登陆实例,在flexBuilder3上运行过.绝对好用. 供大家学习参考.
flex PureMVC框架实例 flex PureMVC框架
这是一个MVC例子,简单的接受了MVC的实现过程。
pureMVC项目包 导入的包 pureMVC项目包pureMVC项目包
puremvc 讲解puremvc的源码
pureMVC框架dll文件,
spring mvc学习笔记spring mvc学习笔记spring mvc学习笔记spring mvc学习笔记spring mvc学习笔记
Pure MVC是在基于模型、视图和控制器MVC模式建立的一个轻量级的应用框架,此资源是PureMVC standard 单线程开发框架.
适合Unity的pureMVC,做UI和逻辑分成。比较适合的工具