`

PureMVC学习笔记一:概念

阅读更多

 

(待修改,未稳定)

 

一、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学习笔记

    4. **通知(Notifications)**:PureMVC使用Notification对象作为通信机制,使得模型、视图和控制器之间的通信变得简单而统一。Notification包含类型、名称和可选的数据,可以通过Facade发送并被任何注册的Observer...

    PureMVC 中文版

    标题 "PureMVC 中文版" 指的是 PureMVC 框架的一个中文版本,这是一款广泛应用的开源框架,特别设计用于构建富互联网应用程序(RIA),尤其是基于Adobe Flex和ActionScript 3的项目。PureMVC 提供了一种模块化、结构...

    初探PureMVC:使用PHP+MySQL+Flex结合PureMVC框架做了个Flex留言本

    标题中的“初探PureMVC:使用PHP+MySQL+Flex结合PureMVC框架做了个Flex留言本”揭示了本文将探讨如何使用PureMVC框架,结合PHP后端和MySQL数据库,构建一个基于Flex的前端留言本应用。PureMVC是一个轻量级、可扩展的...

    PureMVC中文教程

    标题中的“PureMVC中文教程”表明这是一份关于PureMVC框架的中文学习资料,主要面向想要理解和掌握这一框架的开发者。PureMVC是一个开源的、轻量级的、跨平台的MVC(Model-View-Controller)设计模式框架,它提供了...

    [转] PureMVC心得教程:使用puremvc框架实现的贪吃蛇

    本教程将基于PureMVC框架讲解如何实现一个经典的“贪吃蛇”游戏,以此来深入理解PureMVC的核心概念和工作流程。 在MVC设计模式中,模型(Model)负责处理数据和业务逻辑,视图(View)负责显示数据,而控制器...

    PureMvc实例 PureMvc第一个实例

    5. **通知(Notifications)**:PureMvc使用`Notification`对象作为不同层间通信的载体,例如`LOGIN_REQUEST`和`LOGIN_SUCCESS`通知分别用于触发登录和通知登录结果。 6. **门面(Facade)**:作为全局的单一访问点...

    pureMVC资料包

    1. **模块化**:PureMVC提供了一种方式来组织应用程序为多个独立的模块,每个模块都有自己的MVC组件,可以独立地开发和测试。 2. **非侵入式**:PureMVC的组件并不直接依赖于应用程序的业务逻辑,而是通过消息传递...

    可以运行的puremvc的登陆实例.

    4. **中间件(Middleware)**:PureMVC还包括了中介者(Mediator)和通知(Notification)的概念。中介者是视图组件和视图之间的通信桥梁,它实现了`PureMVC.IMediator`接口,负责监听和响应特定视图事件。在登录...

    PureMVC学习资料与案例

    4. **通知(Notifications)**:PureMVC使用一种称为Notification的机制来实现各层间的通信。通知是一种无类型的事件,可以被任何层发布,并被其他任何层监听。这种方式使得组件间解耦,便于扩展和维护。 5. **宏...

    PureMVC框架学习总结

    PureMVC是一种遵循模型-视图-控制器(MVC)设计模式的框架,它强调程序的三大核心部分:数据模型(Model)、视图(View)、和控制器(Controller)的分离,以便于多个视图可以共享同一数据模型,而当数据发生变化时...

    基于PureMVC框架实现的Qt的一个例子

    PureMVC是一种轻量级、模型-视图-控制器(MVC)框架,最初是为ActionScript开发的,后来被移植到多种编程语言中,包括C++。它提供了一种组织代码结构的方式,使得开发者可以更高效地构建可维护和可扩展的软件应用。 ...

    pureMVC 源码

    下面我们将深入探讨PureMVC的核心概念、主要组件以及如何使用AS3.0实现它。 1. **纯MVC模式**: - **模型(Model)**:负责应用程序的数据管理,通常与数据存储或服务端交互,保持数据的一致性和完整性。 - **...

    一个很好的puremvc实例

    标题中的“一个很好的puremvc实例”表明我们即将探讨的是关于PureMVC框架的实际应用案例。PureMVC是一个轻量级的、跨平台的MVC(Model-View-Controller)设计模式实现,它主要应用于创建复杂但组织良好的应用程序...

    PureMVC总结(附Hello World含PureMVC源码代码和文档)

    4. **模块化设计**:PureMVC支持多模块架构,如何创建和管理多个独立的MVC子系统。 5. **应用场景与最佳实践**:PureMVC在实际项目中的使用场景,以及如何优化和扩展框架。 6. **Hello World示例**:通常会通过一...

    puremvc 最新版本2.0.4源码

    PureMVC是一个开源的、轻量级的框架,专门用于构建多层应用程序。它采用Model-View-Controller(MVC)设计模式,并提供了一种在ActionScript 3中实现这一模式的方法。标题提到的"puremvc最新版本2.0.4源码",意味着...

    PureMVC_study

    1. 结构清晰:PureMVC的MVC结构使代码易于理解和维护。 2. 可扩展性:通过添加新的Commands、Proxies和Mediators,可以轻松扩展功能。 3. 解耦合:组件间通过Notifications通信,降低了组件间的耦合度。 4. 重用性:...

    PureMVC.zip

    - 源代码:PureMVC的Unity实现,包括`.cs`文件,这些文件实现了PureMVC的核心组件,如`Proxy`, `Mediator`, `Command`等。 - 示例项目:可能包含一个简单的Unity项目,演示了如何在实际项目中使用PureMVC框架。 - ...

    PureMVC.rar

    4. **通知(Notification)**:PureMVC使用`Notification`作为各个组件间通信的主要手段。Notification是一个简单的事件对象,包含一个名称和可选的附加数据,允许任何组件发送通知,并让其他组件订阅并响应。 5. *...

    PureMVC教程,PureMVC教程,是学习PureMVC框架的好文章,PureMVC教程,是学习PureMVC框架的好文章,PureMVC教程,是学习PureMVC框架的好文章

    以下是对PureMVC框架核心概念的详细解释: 1. **Proxy(代理)**:在PureMVC中,Proxy作为Model的一部分,负责管理和存储应用的数据。它通常包含对业务逻辑或数据源的访问,提供了一种统一的方式来处理和存储数据...

    PureMVC C#框架

    10. **学习曲线**:PureMVC的简单API和清晰的架构使得开发者能够快速上手,同时也有助于团队成员间的协作和代码审查。 在"puremvc-csharp-standard-framework-master"这个压缩包中,你将找到PureMVC C#标准版的源...

Global site tag (gtag.js) - Google Analytics