当前位置:编程学习 > JSP >>

模式概念(The pattern concept)


模式概念

 

“设计模式帮助你从别人的成功经验而不是你自己的失败那里学到更多东西”.或许,面向对象设计领域迈出的最重要的一步就是“设计模式”运动,这一运动被记录整理成“设计模式”一书。那本书展示了23种针对特定类型问题的解决办法。本书将用例子来介绍设计模式的基本概念。这将会激起你阅读Gamma等人所著的《设计模式》一书的兴趣,该书已成为从事面相对象编程的程序员的重要的和几乎必需的“词汇表”。

本书后面的章节用一个例子描述了设计演化的过程,从最初的解决方案开始,按照合理的推理和步骤,最终演化成更为合理的设计。这个例子程序(一个模拟trash sorting 的例子程序)随着时间不断演化,你可以把它看作是一个原型,你自己做设计的时候也是从一个适用于某一特定问题的解决方案开始,逐渐演化成一个灵活的能够解决某一类问题的方法。

 

什么是模式?

一开始,你可以把模式想象成一种特别巧妙和敏锐的用以解决某类特定问题的方法。更确切地说,许多人从不同角度解决了某个问题,最终大家提出了最通用和灵活的解决办法。这个问题可能是你以前见过并解决过的,但是你的方法可能比不上你将看到的模式所体现的方法来的完整。

尽管它们被称作“设计模式”,实际上它们没有仅仅限于设计的范畴。模式看起来似乎跟传统的分析,设计和实现相去甚远;恰恰相反,模式体现的是程序整体的构思,所以有时候它也会出现在分析或者是概要设计阶段。这是个有趣的现象,因为模式可以由代码直接实现,所以你可能不希望在详细设计或编码以前使用模式,(实际上在详细设计和编码之前你可能都不会意识到你需要某个特定的模式)。

模式的基本概念也可以看作是设计的基本概念:即增加一个抽象层。无论什么时候,当你想把某些东西抽象出来的时候,实际上你是在分离特定的细节,这么做的一个有说服力的动机就是把变化的东西从那些不变的东西里分离出来。这个问题的另一种说法是,当你发现程序的某一部分由于某种原因有可能会变化的话,你会希望将这些变化不会传播给程序其它部分的代码。这么做不但使程序更容易维护,而且它通常使程序更容易理解(这将降低成本)。

很多情况下,对于能否设计出优雅和容易维护的系统来说,最难的就是找到“一系列变化的东西。”(这里,“vector”指最大梯度

补充:Jsp教程,Java基础 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,