- 1
- 0
- 约3.61千字
- 约 4页
- 2023-08-26 发布于广东
- 举报
两种典型的mvc模式的对比分析
在应用开发人员的过程中,每个问题都需要根据实际应用找到解决方案。为了提高开发效率,并增加应用系统的灵活性、安全性、实用性等,采用好的设计模式变得相当重要。随着Internet的迅速发展,Web应用程序开发技术已经发展到基于J2EE、CORBA、.NET等分布式应用技术方面。面对新的更复杂的应用,迫切需要更好的设计模式指导Web应用程序开发过程。
Model-View-Controller(MVC)设计模式被证明是有效的开发模式之一,它将访问和数据的表现进行了分离。通过MVC模式,可以开发具有伸缩性、便于扩展、便于整个流程维护的应用软件。但由于MVC在不同的程序逻辑之间要保持清晰的界限,因此,在不同层次之间的通信会有性能上的损失,交换客户与服务器之间的回路信息会消耗大量的系统资源。且每个控制器直接与业务逻辑相关,当业务逻辑改变时,所有与此逻辑相关的控制器都要改变。为克服MVC模式的以上缺点,本文提出对MVC模式进行改进。其核心思想是,MVC模式里加入Facade模式成为MVCF模式,并进一步加入Delegate模式成为MVCDF模式,从而减少通信信息量,并增加应用程序开发的灵活性。本文把MVCDF模式应用于基于J2EE架构的供应链管理系统(SCM),表明这种设计模式的改进是行之有效的。
1 ccf模式1的改进之一
1.1 基于专网的会话ejb
为了减少客户端与服务器之间通信的频繁度,我们将MVC模式和Facade模式相结合成为MVCF模式。Facade模式的特点是:为子系统中的若干接口提供了一个统一的接口,它定义了一个更高层次的接口,使子系统更容易使用。Session Facade采取的是会话EJB的形式,通过Session Bean可以把构成子系统的一套业务对象“包装”在Session Bean中。这样,Session Facade作为客户端访问业务对象的拦截器,屏蔽了业务对象。控制器通过访问Session Bean来访问业务对象。当控制器需要调用多个业务对象的方法时,它只需要进行一次粗粒度的远程方法调用,将请求送给Session Facade,再由Session Facade通过本地方法调用,调用相应的业务对象,执行其方法。这样减少了客户端和业务对象之间的耦合度,同时客户端也不必管理事务的细节,减轻了网络负载,提高了系统性能。并且当业务对象的方法改动时,只需要修改Session Bean,而客户端可以保持不变,从而使应用系统更容易维护、升级。
1.2 facade模式
在MVC的Web应用模型基础上,在业务层和业务实现层(EJB)之间加入Facade层,此时Web应用程序模型如图1所示。Session Fa?ade起到屏蔽了业务对象的作用。客户端通过访问Facade来访问业务对象。当EJB客户端调用多个业务对象方法时,它只需要进行一次粗粒度的远程方法调用,将请求送给Facade,再由Fa?ade用本地方法调用相应的业务对象,执行其方法。显然当业务对象的方法改动时,只需要修改Session Bean,而客户端可以保持不变。
Facade是一个会话Bean。编写Fa?ade会话Bean代码时不需要实现业务逻辑,只提供接口供客户端调用。
MVC模式中引入Facade模式具有如下优点:
(1)严格分离了业务逻辑和表示层,降低系统的耦合度,提高可管理性。
(2)提供了粗粒度的访问,在分布式环境下,可降低网络开销,提高系统性能。
2 mvdf模式改进
2.1 基于web-w最终的应用程序实现
MVCDF模式即在MVCF模式的基础上加上Business Delegate业务委派模式。一个业务委派是一个完全的Java类,它起到客户层和服务层的媒介的作用。客户层局部地调用业务委派的方法。创建一个业务委派层就能实现用Java类隐藏EJB API的复杂性,通过概括代码请求来显露、委派和恢复来自会话和消息Facade EJB层的访问。
应用程序规划中复杂的问题之一是业务层和实现层之间的必要分隔。人们一直关心将应用和表示逻辑与业务逻辑分隔开。Business Delegate可以作为一个业务服务的客户方抽象使用。它可以潜在地直接与各业务组件协同工作,或者可以作为一个Session Facade的网关供客户方使用。业务委派可以负责所有的专门EJB交互,为客户提供一个本地接口。并可以把远程异常映射到有意义的应用程序异常。Business Delegate是执行客户方业务信息缓冲存储的逻辑位置,可以处理值对象或者重试失败的调用以及对不同服务器的故障恢复。
2.2 基于业务先进的管理技术
在上面的MVCF的Web应用模型基础上,在业务层和Facade层之间加入一个Delegate层,就得到MVCDF模式的Web应用模型(如图
您可能关注的文档
- 1996-2004年浙江省布鲁菌病控制达标后人畜布病检测结果分析.docx
- 1例疑似皮肤炭疽病例报告.docx
- 2008年奥运会体育场结构方案研究.docx
- 2009年洮南市布鲁氏菌病监测结果分析.docx
- 2012年吉林省布鲁杆菌病监测结果分析.docx
- 2013年河北省畜间布鲁氏杆菌病流行病学调查报告.docx
- 20152015年河北省运城市布鲁氏菌病监测结果分析.docx
- 2015年上海市嘉定区布鲁氏菌病监测结果分析.docx
- hiv阴性的预防和妊娠结果分析.docx
- kv断路器分开电容器组电流试验的研究.docx
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- (2026春新版)部编版八年级道德与法治下册4.3《依法履行义务》教案.docx VIP
- 2026春八年级下册《道德与法治》新教材习题参考答案.docx VIP
- 2026二手房买卖合同 个人房产交易适用 含过户、付款条款.docx VIP
- 2026春八年级下册道德与法治 学期教学计划.docx VIP
- IATF16949-2016产品搬运、储存、包装、防护和交付管理控制程序.docx VIP
- 脾胃为后天之本.pptx VIP
- 喜格迈-心绞痛治疗全新选择.ppt
- 污水处理厂安装工程售后服务方案.docx VIP
- 听老涮讲增删.pdf VIP
- Yizumi精密注压科技有限公司D1系列两板式注塑机500T-4000T说明书.pdf
原创力文档

文档评论(0)