个人对设计模式的一些体会
2013-01-26 22:20
274 查看
我们先来解答这个问题。Design Pattern这个概念是什么时候开始提出的!
------“GoF(“四人帮”,又称Gang
of Four,即Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四人)的《设计模式》,原名《Design
Patterns: Elements of Reusable Object-Oriented Software》(1995年出版,出版社:Addison
Wesly Longman.Inc),第一次将设计模式提升到理论高度,并将之规范化。该书提出了23种经典设计模式。时至今日,在可复用面向对象软件的发展过程中,新的设计模式仍在不断出现。”
解决了上面的问题后,就要问为什么GoF会写Design
Pattern这本书。一个东西从无到有,这中间是一种什么样的力量孕育出来这个东西。是思考的力量。
------“我思故我在!”
谈到思考,不得不谈到哲学家,哲学家是干什么的,他们基本不从事生产劳动,他们主要就负责思考。对一种普遍本质的思考。我们来看下百度百科对哲学的定义。
------“哲学是关于世界的本质、发展的根本规律、人的思维与存在的根本关系的理论体系。”
在马克思主义哲学体系中有三大规律五对范畴这样的概念来指导人类认识和理解我们的世界。
------“三大规律: 对立统一规律、量变质变规律,否定之否定规律;五对范畴:内容和形式、现象和本质、原因和结果、可能性和现实、偶然性和必然性;三大基本观点:联系的观点、发展的观点、一分为二的观点。”
那么是否也有类似的指导原则来刻画软件世界。基于此有哲思能力的大师开始思考和总结这件事了,首先软件世界是不存在的,他们要抽象出一个软件世界及其规则,这个过程也是把软件世界和客观世界进行类比,规划出这些规则使我们可以愉快的开发,在94年GOF这四个人将相关知识整理成书。现在,以后以及未来,大师们提出了一些指导思想,尽量避免以下情况的发生。
Rigidity - It is hard to change because
every change affects too many other parts of the system.
Fragility-
When you make a change, unexpected parts of the system break.
Immobility - It is hard to reuse in another
application because it cannot be disentangled from the current application.
并在这个基础上提出了6个指导原则,可以通过SOLLID这个单词来记忆这6个规则。
Single
Responsibility Principle
[align=left]Open Close Principle[/align]
Liskov's
Substitution Principle
Law
of Demeter
Interface
Segregation Principle
[align=left]Dependency Inversion Principle[/align]
进而GoF提出了23种经典的设计模式,这些设计模式就是指导设计者如何来规划软件世界里面的对象之间的关系,运用这些模式的目的就是为了达到理想中所设计的那个软件世界。这GoF所提出的23种设计模式被分为了三大类:创建模式、结构模式、行为模式。
------“GoF(“四人帮”,又称Gang
of Four,即Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四人)的《设计模式》,原名《Design
Patterns: Elements of Reusable Object-Oriented Software》(1995年出版,出版社:Addison
Wesly Longman.Inc),第一次将设计模式提升到理论高度,并将之规范化。该书提出了23种经典设计模式。时至今日,在可复用面向对象软件的发展过程中,新的设计模式仍在不断出现。”
解决了上面的问题后,就要问为什么GoF会写Design
Pattern这本书。一个东西从无到有,这中间是一种什么样的力量孕育出来这个东西。是思考的力量。
------“我思故我在!”
谈到思考,不得不谈到哲学家,哲学家是干什么的,他们基本不从事生产劳动,他们主要就负责思考。对一种普遍本质的思考。我们来看下百度百科对哲学的定义。
------“哲学是关于世界的本质、发展的根本规律、人的思维与存在的根本关系的理论体系。”
在马克思主义哲学体系中有三大规律五对范畴这样的概念来指导人类认识和理解我们的世界。
------“三大规律: 对立统一规律、量变质变规律,否定之否定规律;五对范畴:内容和形式、现象和本质、原因和结果、可能性和现实、偶然性和必然性;三大基本观点:联系的观点、发展的观点、一分为二的观点。”
那么是否也有类似的指导原则来刻画软件世界。基于此有哲思能力的大师开始思考和总结这件事了,首先软件世界是不存在的,他们要抽象出一个软件世界及其规则,这个过程也是把软件世界和客观世界进行类比,规划出这些规则使我们可以愉快的开发,在94年GOF这四个人将相关知识整理成书。现在,以后以及未来,大师们提出了一些指导思想,尽量避免以下情况的发生。
Rigidity - It is hard to change because
every change affects too many other parts of the system.
Fragility-
When you make a change, unexpected parts of the system break.
Immobility - It is hard to reuse in another
application because it cannot be disentangled from the current application.
并在这个基础上提出了6个指导原则,可以通过SOLLID这个单词来记忆这6个规则。
Single
Responsibility Principle
[align=left]Open Close Principle[/align]
Liskov's
Substitution Principle
Law
of Demeter
Interface
Segregation Principle
[align=left]Dependency Inversion Principle[/align]
进而GoF提出了23种经典的设计模式,这些设计模式就是指导设计者如何来规划软件世界里面的对象之间的关系,运用这些模式的目的就是为了达到理想中所设计的那个软件世界。这GoF所提出的23种设计模式被分为了三大类:创建模式、结构模式、行为模式。
相关文章推荐
- 设计模式有害论--关于个人对设计模式的一些小看法
- 设计模式有害论--关于个人对设计模式的一些小看法
- 设计模式的一些个人看法
- 异步编程设计模式的一些体会
- 设计模式之Builder (创建者模式)的一些个人理解(转)
- 设计模式个人总结,单一职责原则总结
- 一些设计模式的比较
- 个人对设计模式的理解-->适配器模式
- 学习设计模式的一些注意事项
- 一些基本的设计模式
- java设计模式小体会
- 一些基本设计模式
- Java设计模式(个人整理)
- 设计模式的一些理解
- 一些个人的思考:收索引擎与保护模式下的物理地址生成
- 设计模式之工厂模式(个人理解)
- 23种设计模式总集-个人培训记
- 一些基本的设计模式综述
- PowerBuilder设计模式第0讲:Powerbuilder中的一些反射机制
- 设计模式(2)-创建型-工厂方法(Factory method)(个人笔记)