为何使用设计模式
2014-05-10 15:38
169 查看
设计模式是开发人员经过大量实战,大量经验总结出的一套围绕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. 模式让开发人员之间有共享语言, 能够最大化沟通的价值.
可能需要的变化以及应付变化的原则.
9. 我们常把系统中会变化的部分抽出来封装.
模式只不过是利用OO设计原则....
怀疑的开发人员
开发人员: 好吧!但是不都只是好的面向对象设计吗?我是说,我懂得运用封装,抽象,继承,多态,我真的还有
必要考虑设计模式吗?运用OO,一切不是都很直接吗?这不正是我过去上了一堆OO课程的原因吗?我认为设
计模式只是对那些不懂好的OO设计的人有用.
大师: 这是面向对象开发常有的谬误:以为知道OO基础概念,就能自动设计出弹性的,可复用的可维护的系统.
开发人员: 不是这样吗?
大师: 不是!要构造有这些特征的OO系统,事实证明只有通过不断地艰苦实践,才能成功.
开发人员: 我想我开始了解了,这些构造OO系统的隐含经验于是被收集整理出来....
大师: ....是的,被整理成了一群"设计模式".
开发人员: 那么,如果知道了这些模式,我就可以减少许多体力劳功,直接采用可行的模式吗?
大师: 对.在一定程序上可以这么说.不过要记住,设计是一门艺术,总是有许多可取舍的地方.但是如果
你能采用这些经过深思熟虑,且经受过时间考验的设计模式,你就领先别人了.
记住,知道抽象,继承,多态这些概念,并不会马上让你变成好的面向对象设计者.设计大师关心的是建立
弹性的设计,可以维护,可以应付变化.
开发人员: 如果我找不到模式,怎么办?
大师: 有一些面各对象原则,适用于所有的模式,当你无法找到适当的模式解决问题时,采用这些原则可以帮助你.
开发人员: 原则?你是说除了抽象,封装....之外,还有其他的?
大师: 是的,建立可维护的OO系统,要诀在于随时想到系统以后可能需要的变化以及应付变化的原则.
要点:
1. 知道OO基础,并不足以让你设计了良好的OO系统.
2. 良好的OO设计必须具备可复用,可扩充,可维护三个特性.
3. 模式可以让我们建造出具有良好OO设计质量的系统.
4. 模式被认为是历经验证的OO设计经验.
5. 模式不是代码,而是针对设计问题的通用解决方案. 你可把它们应用到特定的应用中.
6. 模式不是被发明,而是被发现.
7. 大多数的模式和原则.都着眼于软件变化的主题.
8. 大多数的模式都允许系统局部改变独立于其化部分.
9. 我们常把系统中会变化的部分抽出来封装.
10. 模式让开发人员之间有共享语言, 能够最大化沟通的价值.
相关文章推荐
- 什么是设计模式?为何使用他们
- 使用设计模式改善程序结构(一)
- 抽象工厂模式第三步-使用抽象工厂模式-马士兵设计模式教程 .
- 24中设计模式+1的定义以及使用场合
- 使用设计模式改善程序结构(一)
- 使用Null Object设计模式
- 转载---23种设计模式(场景需要决定使用模式,非为了用而用)
- 使用门面模式来设计电脑的开机
- 实例讲解C++编程中对设计模式中的原型模式的使用
- Python设计模式编程中Adapter适配器模式的使用实例
- 设计模式--简单工厂模式在unity3d里面的使用
- JDK中使用到的23个经典设计模式
- 使用设计模式改善程序结构(一)
- JSF框架中使用的设计模式介绍
- 详解C#设计模式编程中的模板方法模式使用
- 关于Java开发中设计模式的使用问题
- 【单例设计模式】单例模式中集合枚举使用更好
- 项目中使用到的设计模式
- .NET(C#) Internals: .NET Framework中已使用的设计模式
- 【设计模式】使用设计模式来解决设计问题