预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

万方数据 基于Silverlight的RIA系统架构与设计模式研究model-view-presenter(姗)pattern·袋件与算法·计算机工程与设计Computer程国雄,胡世清Systempattemresearchofbasedsilverlight2010,31(8)(深圳大学师范学院教育信息技术系,广东深圳518060)ICommand接口,解决了视图中的事件绑定问题,结合数据绑定,使视图模型独立于视图。实例结果表明,采用MVVM模式设architectureandRIA(DepartmentCollege,Shenzhen8060,China)0引言可同步进行。目前将MVC(model-view-controller)、MVP(model.view-presenter)设计模式应用于RIA应用系统开发的比较多,view-ViewModel)设计模式M。MVVM模式不但能够实现UI设l传统w曲应用和RIA系统架构比较级工程师,研究方向为网终工程。E-mail:chml@t,om。corn摘要:为解决适用于RIA应用系统开发的设计模式的问题,分析了基于Silverlight的RIA系统架构,并针对MVC、MVP模式在RIA应用系统开发时存在单元测试困难和耦合度高的问题,提出了引入MVVM模式。该模式由视图、视图模型、模型3部分组成,通过实现INotifyPropertyChanged接口,解决了模型到视图模型的数据传导问题,使模型独立于视图模型;通过实现了计RIA应用系统能够实现界面逻辑和应用逻辑的完全分离,且具备良好的自动化测试能力.关键词:设计模式;模型.视图模型.视图;系统架构;富互联网应用;模型.视图.控制器中图法分类号:TP311.5文献标识码:A文章编号:1000.7024(2010)08.1706-04CHENGGuo—xiong,HUShi·qingapplication(RJA)systemswhenmodel—view-controll盱(MVC)andmodel—view-viewmodel(MVVM)patternbetweenofeventdataseparateapplicationpatterns;MVVM;systemarchitecture;RIA;MVC随着软件技术的发展成熟,软件架构设计和设计模式的选取是现代软件开发中最为关键的一环,架构设计和设计模式是否合理将直接影响到软件系统最终是否成功Ⅲ。RIA(richapplication)技术是近来发展较快的实现Web2应用开发的技术脚,与传统Web应用相比,R1A技术更加追求实现丰富用户体验的用户界面Ⅲ。适应这种变化,RIA应用系统开发过程中的分工也更加细致,一部分人负责界面设计,称为设计者:一部分人负责代码设计,称为程序员。这种分工协作给软件设计模式带来了新的要求,一方面要保持系统易于理解和维护、良好的可扩展性和低耦合度,另一方面要追求业务逻辑、呈现逻辑和uI逻辑的分离,使界面设计和程序控制开发但这两种模式并不能完全实现将uI设计分离出来。为此将呈现逻辑从视图中独立出来,同时将界面数据从模型中独立出来,组成视图模型(ViewMode)模块,形成了MVVM(model.计的分离,而且能充分发挥RIA技术中的数据绑定的技术特点,提高软件的复用性,因此MVVM模式在RIA应用系统的开发中有很好的应用前景。传统Web应用系统(其系统架构如图1(a)所示)主要采用B/s结构。浏览器作为客户端,使用HTML界面描述语言实现程序界面呈现;在Web服务器端,分别实现界面呈现逻辑、应用程序逻辑、数据访问层等功能。在这种架构中,应用程序逻辑完成主要的业务控制:一方面从数据访问层获取数据,通过界面呈现逻辑把数据转换成HTML格式后送到客户端呈现,另一方面获取客户端的数据,在应用程序逻辑中实现数据约束控制,并通过数据层传送到数据库。程序的核心功能驻留收稿日期:2009-04.-10:修订日期:2009-06-12。1706EngineeringDesignonofEducationalTechnology,TeachersUniversity,Shenzhen51problemsofthepatternintemetdevelopment,thesilverlight-basedanalyzed,accordingoftraitsystems,theviewmodel,theproblemtheviewmodelINofifyPropertyChangedinterface,andmodelindependentwhile,thebindingrealizingICommandinterface,combinedbindmg,theMVVMsys