长篇连载 ,如何一次通过310-083考试
pass 310-083 (004 - design pattern)
上一篇 /
下一篇 2008-09-16 11:39:58
/ 个人分类:Certification_SCWCD5
第三种设计模式MVC
(Model-View-Controller)
概述:如果你曾经使用过Struts,那么相信你对于MVC不会陌生,他把一个完整的应用模块分成了3个部分,View-用于展示UI给客户,通常由html,xml或者jsp来担任;Model-用于实现具体的业务逻辑,通常由java bean来担任;Controller-用于实现控制流程的跳转,通常由servlet来实现。这样分工以后,对于程序员可以专注于代码跟业务流程,不必关心展示层如何嵌套代码,对于设计师就可以专心于网页的美工设计,不需要设计一行java程序代码,所以可以很方便的设计多种显示数据结果的方式,方便的展现在不同的业务终端,比如PDA或者手机。传统的程序里面,利用servlet来处理业务逻辑,然后利用out.println()来展示数据的处理结果,这样的最终结果“展示逻辑”与“业务处理逻辑”混杂在一起,对于日后的维护以及功能扩展非常不变。一旦有了问题或者新的功能需求,程序员跟网页设计师一定要协同工作才可以解决。
应用:对于拥有很多展示层的业务系统,还有比较复杂的逻辑跳转的系统,如果系统较复杂,数据的展示模式经常变化或者数据库的处理规则经常变化,则可以考虑使用MVC模式。彻底的降低各个程序系统模块之间的耦合度,让开发人员能充分发挥自己的专长,迅速的完成自己的部分。对于多种不同的客户端显示数据,MVC是最适合的设计模式。

优点:可以让数据的展示方式与数据的处理方式彻底的,完全分离。因为分工明确,所以设计师专心于展示层的美工,细化,对于数据的显示结果,是由嵌入网页的JSTL标签还有自定义标签来显示,这样美工人员可以完全不了解编程语言,只需要基本的HTML,CSS还有学会使用标签即可,可以很方便的利用很多不同的方式来展示相同的数据;程序员利用控制器来转发每一个请求,然后在具体的业务处理模块,专心处理每一个请求,然后把请求的结果返回给控制器,由控制器来决定转发到哪一个展示层,所以修改用户的接口,不会影响到具体的商业逻辑。当日后增加了需求或者改动的时候,只要修改控制器的相应配置文件(通常是xml),就可以快速的扩展程序。还有一个比较大的优点是,展示层的组件可以重复使用。
缺点:由于很多的转发,都是由配置文件来控制,所以会吧小型的简单程序复杂化,不建议小型的应用程序使用MVC,这样反而会事倍功半。这个模式会增加整体程序开发时间,因为它增加了复杂度。使用中要考虑平衡点。
举例:网上书店的购物程序就可以选用这个模式,因为可以利用view的多样性,把数据库里面的信息展示在不同的客户端。
考试:记住以下的要点,有助于通过考试。
Easier support for new types of clients.
Centralized controller.
Re-use of Model components.
Increased design complexity.
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: