为何使用设计模式

来源:互联网 发布:比尔盖茨编程一小时 编辑:程序博客网 时间:2024/06/11 07:36

设计模式是开发人员经过大量实战,大量经验总结出的一套围绕OO原则的模式, 以应对随时想到系统以后
可能需要的变化以及应付变化的原则.

 

 9. 我们常把系统中会变化的部分抽出来封装.

 

模式只不过是利用OO设计原则....

怀疑的开发人员

 开发人员: 好吧!但是不都只是好的面向对象设计吗?我是说,我懂得运用封装,抽象,继承,多态,我真的还有
 必要考虑设计模式吗?运用OO,一切不是都很直接吗?这不正是我过去上了一堆OO课程的原因吗?我认为设
 计模式只是对那些不懂好的OO设计的人有用.
 
 大师: 这是面向对象开发常有的谬误:以为知道OO基础概念,就能自动设计出弹性的,可复用的可维护的系统.
 
 开发人员: 不是这样吗?
 
 大师: 不是!要构造有这些特征的OO系统,事实证明只有通过不断地艰苦实践,才能成功.
 
 开发人员: 我想我开始了解了,这些构造OO系统的隐含经验于是被收集整理出来....
 
 大师: ....是的,被整理成了一群"设计模式".
 
 开发人员: 那么,如果知道了这些模式,我就可以减少许多体力劳功,直接采用可行的模式吗?
 
 大师: 对.在一定程序上可以这么说.不过要记住,设计是一门艺术,总是有许多可取舍的地方.但是如果
 你能采用这些经过深思熟虑,且经受过时间考验的设计模式,你就领先别人了.
 
 记住,知道抽象,继承,多态这些概念,并不会马上让你变成好的面向对象设计者.设计大师关心的是建立
 弹性的设计,可以维护,可以应付变化.
 
 开发人员: 如果我找不到模式,怎么办?
 
 大师: 有一些面各对象原则,适用于所有的模式,当你无法找到适当的模式解决问题时,采用这些原则可以帮助你.
 
 开发人员: 原则?你是说除了抽象,封装....之外,还有其他的?
 
 大师:  是的,建立可维护的OO系统,要诀在于随时想到系统以后可能需要的变化以及应付变化的原则.
 

要点:

 1. 知道OO基础,并不足以让你设计了良好的OO系统.

 2. 良好的OO设计必须具备可复用,可扩充,可维护三个特性.

 3. 模式可以让我们建造出具有良好OO设计质量的系统.

 4. 模式被认为是历经验证的OO设计经验.

 5. 模式不是代码,而是针对设计问题的通用解决方案. 你可把它们应用到特定的应用中.

 6. 模式不是被发明,而是被发现.

 7. 大多数的模式和原则.都着眼于软件变化的主题.

 8. 大多数的模式都允许系统局部改变独立于其化部分.

 9. 我们常把系统中会变化的部分抽出来封装.

 10. 模式让开发人员之间有共享语言, 能够最大化沟通的价值.

 

 

 

 


 

0 0