长篇连载 ,如何一次通过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给客户,通常由htmlxml或者jsp来担任;Model-用于实现具体的业务逻辑,通常由java bean来担任;Controller-用于实现控制流程的跳转,通常由servlet来实现。这样分工以后,对于程序员可以专注于代码跟业务流程,不必关心展示层如何嵌套代码,对于设计师就可以专心于网页的美工设计,不需要设计一行java程序代码,所以可以很方便的设计多种显示数据结果的方式,方便的展现在不同的业务终端,比如PDA或者手机。传统的程序里面,利用servlet来处理业务逻辑,然后利用out.println()来展示数据的处理结果,这样的最终结果“展示逻辑”与“业务处理逻辑”混杂在一起,对于日后的维护以及功能扩展非常不变。一旦有了问题或者新的功能需求,程序员跟网页设计师一定要协同工作才可以解决。


           应用:对于拥有很多展示层的业务系统,还有比较复杂的逻辑跳转的系统,如果系统较复杂,数据的展示模式经常变化或者数据库的处理规则经常变化,则可以考虑使用MVC模式。彻底的降低各个程序系统模块之间的耦合度,让开发人员能充分发挥自己的专长,迅速的完成自己的部分。对于多种不同的客户端显示数据,MVC是最适合的设计模式。


          

         优点:可以让数据的展示方式与数据的处理方式彻底的,完全分离。因为分工明确,所以设计师专心于展示层的美工,细化,对于数据的显示结果,是由嵌入网页的JSTL标签还有自定义标签来显示,这样美工人员可以完全不了解编程语言,只需要基本的HTMLCSS还有学会使用标签即可,可以很方便的利用很多不同的方式来展示相同的数据;程序员利用控制器来转发每一个请求,然后在具体的业务处理模块,专心处理每一个请求,然后把请求的结果返回给控制器,由控制器来决定转发到哪一个展示层,所以修改用户的接口,不会影响到具体的商业逻辑。当日后增加了需求或者改动的时候,只要修改控制器的相应配置文件(通常是xml),就可以快速的扩展程序。还有一个比较大的优点是,展示层的组件可以重复使用。

          

           缺点:由于很多的转发,都是由配置文件来控制,所以会吧小型的简单程序复杂化,不建议小型的应用程序使用MVC,这样反而会事倍功半。这个模式会增加整体程序开发时间,因为它增加了复杂度。使用中要考虑平衡点。

           

      举例:网上书店的购物程序就可以选用这个模式,因为可以利用view的多样性,把数据库里面的信息展示在不同的客户端。

           

      考试:记住以下的要点,有助于通过考试。

Easier support for new types of clients.

Centralized controller.

Re-use of Model components.

Increased design complexity.


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2009-01-09  
    123
45678910
11121314151617
18192021222324
25262728293031

我的存档

数据统计

  • 访问量: 523
  • 日志数: 10
  • 建立时间: 2008-09-09
  • 更新时间: 2008-09-25

RSS订阅

Open Toolbar