pureMVC简单示例及其原理讲解
——Model层
pureMVC是一个MVC框架,皆在最大限度保持Model、View、Controller的独立性,从而减少各个层间的耦合。
上一篇《pureMVC简单示例及其原理讲解——开篇
》中讲述了本示例宗旨、主要功能文件结构,此外还介绍了pureMVC包含的核心组成。
回顾:
本节将讲述Model层。
Model层有VO和Mediator组成,非常简单,仅仅包含两个类:UserVO和UserProxy。
UserVO中的构造器用于初始化用户的添加(通过email和密码),另一个isValid属性验证用户电子邮件是否合法以及密码长度。
/**
UserVO
作者:吴磊
*/
package com.superwulei.model.vo {
public class UserVO {
public var email:String = ''; //电子邮件
public var password:String = ''; //密码
public var regDate:Date; //注册日期
public function UserVO(email:String, password:String) {
this.email = email;
this.password = password;
this.regDate = new Date();
}
/*
验证用户信息
email:以单词字符开始,以.cn结尾
password: 长度大于等于6位
*/
public function get isValid():Boolean {
var emailRegExp:RegExp = /^\w+[@]\w+(.com)$/;
return (emailRegExp.test(this.email) && this.password.length >= 6);
}
}
}
UserProxy代码如下。UserProxy继承Proxy。在Proxy中有一个类型为Object的data私有变量,这样就可以使用这个Object的变量存储任何数据。在UserProxy构造方法中,我们通过super方法调用父类构造器并将Object的data转换为ArraryCollect类型。由于data是私有了,因此我们通过getter返回属性的公有方法返回"ArrayCollection"类型的data。同时定义两个其他的方法用于向这个users属性中添加、删除对象。其实大家现在应该可以看出来了,这个users属性存在的目的其实就是为了存储UserVO对象。
package com.superwulei.model
{
import com.superwulei.model.vo.UserVO;
import mx.collections.ArrayCollection;
import org.puremvc.as3.patterns.proxy.Proxy;
public class UserProxy extends Proxy
{
public static const NAME:String = 'UserProxy';
public function UserProxy()
{
super(NAME,new ArrayCollection());
}
public function get users():ArrayCollection{
return data as ArrayCollection;
}
/* 添加项 */
public function addItem(item:Object):void{
users.addItem(item);
}
/* 删除项 */
public function deleteItem(item:Object):void{
var user:UserVO = item as UserVO;
for(var i:int = 0; i < users.length; i++){
if(users[i].email == user.email){
users.removeItemAt(i);
}
}
}
}
}
Model层非常简单,pureMVC设计的追求同样如此,Model层应该是稳定的、不会由于其他层的变化而变化。
本节中讲解了Model层,关键的一点是Proxy中的data,非常重要,很有意义。
上一篇
下一篇
分享到:
- 2009-10-10 14:36
- 浏览 9481
- 评论(1)
- 论坛回复 / 浏览 (1 / 3056)
- 查看更多
相关推荐
【标题】"PureMVC简单示例及其原理讲解"涉及的是一个开源的、跨平台的MVC(Model-View-Controller)框架——PureMVC。PureMVC以其轻量级和高度可扩展性,在开发中得到了广泛应用。这篇博客文章通过一个简单的示例,...
通过学习这个实例,开发者可以更好地理解PureMVC框架的工作原理,以及如何在实际项目中应用它来组织代码和实现业务逻辑。这对于提升ActionScript或Flex开发者的技能和提高代码复用性非常有帮助。
1. **模型(Model)**:在PureMvc中,模型层负责处理应用程序的数据和业务逻辑。它由一系列`Proxy`类组成,这些类封装了与数据源的交互,可以是本地存储或远程服务。`Proxy`类提供了数据的获取和更新方法,确保数据...
**PureMVC框架详解** PureMVC是一种轻量级、模型-视图-控制器(Model-View-...通过学习和实践"PureMVCExample"中的示例,你可以深入理解PureMVC的工作原理,并将其应用到自己的项目中,提升开发效率和代码质量。
标题 "PureMVC 中文版" 指的是 PureMVC 框架的一个中文版本,这是一款广泛应用的开源框架,特别设计用于构建富互联网应用程序(RIA),尤其是基于Adobe Flex和ActionScript 3的项目。PureMVC 提供了一种模块化、结构...
这个“PureMVC简单例子”是为了帮助初学者理解PureMVC框架的基本原理和实际操作流程。在这个例子中,我们将深入探讨各层的职责以及它们之间的通信机制。 首先,我们来了解一下MVC模式。MVC模式是一种软件设计模式,...
6. **Larena2.0与3.0APP框架差异——pureMVC架构的解析与仿制.ppt**:这个文件可能详细分析了Larena应用程序框架在2.0和3.0版本中如何采用PureMVC架构,并可能讨论了它们之间的差异和改进之处。 7. **pureMVC类成员...
压缩包内的中文文档提供了PureMVC框架的详细解释,包括基本概念、使用方法、示例代码和最佳实践,对于初学者来说是非常有价值的参考资料。 通过学习和使用这个PureMVC实例及中文文档,开发者能够更好地理解如何在...
纯MVC(PureMVC)是一个轻量级的框架,用于构建基于模型-视图-控制器(Model-View-Controller)设计模式的应用程序。...通过研究这个示例,你可以更好地理解PureMVC的工作原理和如何在实际项目中应用。
Unity3D客户端PureMVC框架视屏讲解是一个深入解析如何在Unity3D环境中应用PureMVC框架的教学资源。PureMVC是一种轻量级、模块化的前端框架,它为游戏开发提供了一种组织代码的结构,使得项目更易于维护和扩展。在...
《PureMVC登录示例详解》 在软件开发中,框架的选择往往对项目的架构和可维护性起到关键作用。PureMVC,一个轻量级、跨平台的MVC(Model-View-Controller)框架,因其简洁的设计和强大的组织能力,受到了许多开发者...
PureMVC是一个开源的、轻量级的框架,主要用于构建多层应用架构,它遵循了经典的Model-View-Controller(MVC)设计模式。在C#版本中,PureMVC为开发者提供了一种规范化的、可扩展的方式来组织代码,使得项目更易于...
6. **Hello World示例**:通常会通过一个简单的“Hello World”程序来演示PureMVC的基本工作流程,展示如何创建并运行一个完整的MVC循环。 7. **源码分析**:可能对PureMVC的源码进行解析,帮助理解其内部机制和...
- 示例代码:PureMVC官方仓库包含不同语言版本的示例项目。 - 开发者社区:加入PureMVC开发者社区,与其他开发者交流经验。 通过理解和实践PureMVC AS3,开发者能够构建出高效、模块化的ActionScript 3应用程序,...
PureMVC是一个轻量级的框架,其核心概念包括模型(Model)、视图(View)和控制器(Controller)。在Unity中,这些概念被转化为具体的类和接口,使得开发者可以遵循MVC设计模式来编写代码。 1. 模型(Model)层:这...
1. **MVC模式介绍**:讲解MVC模式的基本思想,为何选择MVC以及PureMVC是如何实现这一模式的。 2. **PureMVC架构**:详细介绍PureMVC的四个核心组成部分:Model(模型)、View(视图)、Controller(控制器)以及...
PureMVC是一款轻量级的框架,主要应用于Flex和AS3开发,它基于经典的Model-View-Controller(MVC)设计模式,为开发者提供了一种组织代码、解耦组件的强大工具。PureMVC的核心理念是通过分离业务逻辑、用户界面和...
PureMVC是一个开源的、轻量级的、跨平台的模型-视图-控制器(Model-View-Controller,MVC)框架,适用于构建各种类型的应用程序,尤其在富互联网应用程序(Rich Internet Applications,RIA)领域中表现突出。...
1. **模型(Model)**:在PureMVC中,模型层负责管理应用程序的数据。它通常由一系列Proxy类组成,每个Proxy类代表一个数据集或服务。Proxy类提供了一种集中式的接口来访问和操作数据,同时实现了Observer接口,以便...