pure MVC框架目标与好处
框架一瞥
PureMVC是一个为创建基于经典MVC元设计模式应用的轻量级框架。
此框架是开源且免费的,已经被AS2,AS3,Java,C#以及其他流行语言所实现。这也允许在多样的平台上开发,包括:
l 移动环境:FlashLite,.Net 集成框架,J2ME
l 服务器环境:ColdFusion,J2EE,PHP,Python
l 浏览器环境:Flash/Flex,JavaFX,Silverlight
l 桌面环境:.Net,AIR,Flash,J2SE
目标:
PureMVC框架主要目标很简单:就是帮助你将应用代码分为三个分离的部分:模型,视图,控制。
为较好的实现此目标并保证框架稳定是惟一的指导动力。
通过提供功能和演示来说明框架的整体良好实用性来扩展框架的使用以及功能都是其次的。
其他促使起初用AS3来实现的目标是:
l 简单并适合框架区域
l 降低应用层次混杂,类功能,责任以及协作性。
l 平衡了规模性和可维护性与速度的关系。
l 提供了清晰丰富的文档。
l 避免平台依赖。
l 为开发者屏蔽了复杂度。
l 设计良好,不需要随着新特性以及重构等更新和维护。
好处:
应用框架的选择很大程度上影响你的架构,继而通过影响未来的维护而增加整体的成本。明智的选择吧。
用PureMVC实现应用带来如下好处:
l 基于模式
l 被很多经久的设计模式支持,可以在任何面向对象编程环境中实现。
l 容易理解。
l 有用的实现类
l 框架可以在外用最小的要求实现。
l Facade类提供唯一核心应用间的协作通信。
松耦合架构
l 支持可视对象,模型数据以及服务的重用。
l 兼容观察者模式通信。
l 客户端层次代码独立性好。
l 面向接口编程
l 框架通过继承或者实现接口来支持扩展性。
l 所有框架类都是用接口定义。
l 所有类都考虑过扩展:保护方法,变量和接口参数等都深思熟虑。
l 框架通过将支持的模式打包到分离的包里来为提供以后的扩展,并不会对模式包进行依赖。
文档良好
l 源代码容易获取。
l 完整的API文档。
l 概念性好,UML类图描述。
l 所有类及方法都进行过单元测试。
l 大量演示来展示基本使用流程。
l 创建者归档了《原子实现和最佳实践》此文。
l 开发的专业课件被成千上万的学生测试过。
<ignore_js_op>
PureMVC_Framework_Goals_and_Benefits.pdf (146.98 KB, 下载次数: 26)
原文链接:http://puremvc.org/component/option,com_wrapper/Itemid,35/
pure MVC框架目标与好处的更多相关文章
- 【Spring】Spring系列7之Spring整合MVC框架
7.Spring整合MVC框架 7.1.web环境中使用Spring 7.2.整合MVC框架 目标:使用Spring管理MVC的Action.Controller 最佳实践参考:http://www. ...
- 产品前端重构(TypeScript、MVC框架设计)
最近两周完成了对公司某一产品的前端重构,本文记录重构的主要思路及相关的设计内容. 公司期望把某一管理类信息系统从项目代码中抽取.重构为一个可复用的产品.该系统的前端是基于 ExtJs 5 进行构造的, ...
- 设计 REST 风格的 MVC 框架
http://www.ibm.com/developerworks/cn/java/j-lo-restmvc/ 传统的 JavaEE MVC 框架如 Struts 等都是基于 Action 设计的后缀 ...
- 通过Struts了解MVC框架,兼说如何在面试中利用Struts证明自己
虽然目前Struts MVC框架不怎么用了,但它确是个能帮助大家很好地入门Web MVC框架,而且,一些历史项目可能还用Struts,反正技多不压身,大家如果能在面试中通过项目证明自己Struts这块 ...
- 第5章——使用 Razor(MVC框架视图引擎)
Razor 是MVC框架视图引擎的名称. 本章提供 Razor 语法的快速教程,以使你能够识别 Razor 表达式. 本章不打算提供 Razor 的完整参考,而将其视为一个语法速成教程.在本书的后续内 ...
- Spring MVC 简述:从MVC框架普遍关注的问题说起
任何一个完备的MVC框架都需要解决Web开发过程中的一些共性的问题,比如请求的收集与分发.数据前后台流转与转换,当前最流行的SpringMVC和Struts2也不例外.本文首先概述MVC模式的分层思想 ...
- Spring MVC -- MVC设计模式(演示4个基于MVC框架的案例)
对于简单的Java Web项目,我们的项目仅仅包含几个jsp页面,由于项目比较小,我们通常可以通过链接方式进行jsp页面间的跳转. 但是如果是一个中型或者大型的项目,上面那种方式就会带来许多维护困难, ...
- 请求如何进入ASP.NET MVC框架
一.前言 对于WebForm开发,请求通常是一个以.aspx结尾的url,对应一个物理文件,从代码的角度来说它其实是一个控件(Page).而在MVC中,一个请求对应的是一个Controller里的Ac ...
- Spring MVC 框架的架包分析,功能作用,优点
由于刚搭建完一个MVC框架,决定分享一下我搭建过程中学习到的一些东西.我觉得不管你是个初级程序员还是高级程序员抑或是软件架构师,在学习和了解一个框架的时候,首先都应该知道的是这个框架的原理和与其有关j ...
随机推荐
- spark能否取代Hadoop?
大数据的浪潮风靡全球的时候,Spark火了.在国外 Yahoo!.Twitter.Intel.Amazon.Cloudera 等公司率先应用并推广 Spark 技术,在国内阿里巴巴.百度.淘宝.腾讯. ...
- 第十一课:js操作选择器的通用函数
1.判断文档是否是XML文档 var isXML = function(elem){ var documentElement = elem && (elem.ownerDocument ...
- javascript与服务器2
一, 通过IE建立XMLHTTP请求 这种请求方式源自与微软创建了XMLHTTP请求对象,只要用户的机器上安装了MSXML就可以发送XMLHTTP请求来创建客户端和服务器端的通信, XMLHTTP请求 ...
- iOS开发小技巧--UIScrollView内部子控件添加约束的注意点
注意:用UIScrollView时布局子控件的时候,不要相对于UIScrollView来添加约束,这样做不是设置子控件的位置,反而是设置了UIScrollView的contentSize 子控件的尺寸 ...
- nmap常用命令
1) 获取远程主机的系统类型及开放端口 nmap -sS -P0 -sV -O <target> 这里的 < target > 可以是单一 IP, 或主机名,或域名,或子网 - ...
- 解决启动Biee控制台乱码问题
在安装完Biee后,大家都可以看到在程序中可以找到启动BI服务的地方 点击上图中的启动bi服务则在window系统中会弹出一个dos窗口,来显示执行启动服务的操作,如下图 上图显示的是正常情况,本人安 ...
- Hive简单优化;workflow调试
1. 定义job名字 SET mapred.job.name='customer_rfm_analysis_L1'; 这样在job任务列表里可以第一眼找到自己的任务. 2. 少用distinct, 尽 ...
- 14.Android之Layout布局学习
Android布局主要有5种,接下来学习总结下. 1) 最常见的线性布局 LinearLayout 线性布局是Android布局中最简单的布局,也是最常用,最实用的布局. android:orient ...
- hdu1695 莫比乌斯反演
莫比乌斯反演:可参考论文:<POI XIV Stage.1 <Queries>解题报告By Kwc-Oliver> 求莫比乌斯函数mu[i]:(kuangbin模板) http ...
- Vijos1901 学姐的钱包
描述 学姐每次出门逛街都要带恰好M元钱, 不过她今天却忘记带钱包了.可怜的doc只好自己凑钱给学姐, 但是他口袋里只有一元钱.好在doc的N位朋友们都特别有钱, 他们答应与doc作一些交换.其中第i位 ...