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
- 浏览 9399
- 评论(1)
- 论坛回复 / 浏览 (1 / 3033)
- 查看更多
相关推荐
NULL 博文链接:https://jornyguo.iteye.com/blog/975236
PureMVC实现与实践——教程.pdf 不错的pdf讲解的挺详细,大家下来看看。 PureMVC实现与实践——教程.pdf 不错的pdf讲解的挺详细,大家下来看看。 PureMVC实现与实践——教程.pdf 不错的pdf讲解的挺详细,大家下来看...
用PureMvc开发Air项目,完整工程实例。 学PureMvc的第一个完整例子
按照puremvc官方网站教程做的登陆实例,在flexBuilder3上运行过.绝对好用. 供大家学习参考.
flex PureMVC框架实例 flex PureMVC框架
本例子运用PureMVC框架编写的简单例子,初学者可以通过本例子理解PureMVC的实现过程,各层的主要职责及如何通信.
而PureMVC架构在MVC基础上通过引入Mediator+事件(通知)机制很好的解决了view(视图层)与controller(控制层之间的紧耦合问题)。 在大型项目中,MVC中的Controller主要就是负责协调View与Model,让两者之间尽量“解耦”...
如你下载后的存放的目录是D组:/下载,解压后将创建一个名为PureMVC_AS3_2_0_4的文件夹(注:其中的2_0_4是版本号) ; 打开PureMVC_AS3_2_0_4文件夹,您会发现里面有三个文件夹: asdoc :对应于API的文档,它的首页...
PureMVC教程,是学习PureMVC框架的好文章,PureMVC教程,是学习PureMVC框架的好文章,PureMVC教程,是学习PureMVC框架的好文章PureMVC教程,是学习PureMVC框架的好文章,PureMVC教程,是学习PureMVC框架的好文章,PureMVC...
LoginApp(puremvc简单例子
压缩包里面有一个用puremvc制作的as实例,另附上一个puremvc的中文文档供大家参考。
公司内部培训文档,关于pureMVC架构的详细讲解,对于软件架构设计有一定指导意义。
PureMVC五子棋游戏源码,学习PureMVC
puremvc 框架源码及教程, 附带一个使用示例 puremvc 框架源码及教程, 附带一个使用示例
简单spring4 MVC简单示例,适合初学者学习!
puremvc 讲解puremvc的源码
这是一个使用C#开发语言的基于PureMVC框架的Web登录Demo,是网上绝无仅有的实例。 本文以初学者的视角,详细地介绍PureMVC在ASP.NET的应用。 PureMVC不仅仅是Flex的MVC框架哦,而且它非常的小巧,还等什么呢,快来...
基于Unity3D讲解PureMVC框架,通过游戏制作讲解,适合学习框架的人
这是一个MVC例子,简单的接受了MVC的实现过程。
这个是一个根据AS3(ActionScript 3) pureMVC而转换过来的lua pureMVC。所有的接口完全跟AS3版本一致。 若是想使用,可以直接查看网上的pureMVC 文档,我并未对任何一个函数改名或者更换参数位置。 注意,这个PureMVC...