设计模式学习笔记(八):重构与模式,参考书籍
2009-09-11 13:16
176 查看
备注
:
1.
模式常常组合使用,共同解决问题。
2.
模式是特定场景下优雅的解决方案,因此场景很关键。在软件设计中,特定的场景可能是显而易见的,可能是隐而不现的,有时甚至是设计者有意创造的。因此使用模式时,对问题的分析至关重要。
3.
模式的使用是有先后之分的。
4.
DP
书中所给的结构图仅仅是模式可能的实现方式之一,但不是唯一。实现一个模式往往有多种途径。
5.
模式本身是比较复杂的。纯粹的为了模式而模式,并不会改善设计,相反会引入不必要的复杂性。之所以使用模式,是因为它提供了一种优雅的解决方案
6.
有些模式,比如行为型的模式等,常常在设计初期就引入,但是更多的模式则不宜过早的引入。
“Refactoring to Patterns”
是目前普遍公认的最好的使用设计模式的方法。
7.
模式和语言无关
8.
使用模式不难,用好模式难
.
唯一的建议
:
多编程。
重构与模式
很多模式并非作为主模式被引入系统设计的,往往是在系统不断进化的过程中,根据需求而引入。模式的引入过程就是系统的一个组合重构过程
。进化的系统需要持续重构,因此重构就成了使用模式的一个很好的途径。
重构的目标:消除重复代码;消除冗余代码;简化代码逻辑。
本质上,重构就是为了提高代码的可读性和可维护性
等。
重构往往需要测试驱动开发的支持。没有测试代码重构很难进行,测试代码是保证重构不破坏代码原有行为的必要条件。
重构过程不宜采取过大的步骤。采取尽可能小的重构步骤,
在不破坏代码行为的前提下,尽量使重构的代码在可编译状态下进行代码的增删和替换。小步骤的重构往往就是最快的重构方式。
模式导向的重构是把重构和模式使用结合在一起的一个途径。
参考书籍
设计模式
1995
设计模式精解(
2nd
)
2006
敏捷软件开发
2003
Refactoring
to Patterns(
中文
:
重构与模式
)
2006
Head
First Design Patterns
Elisabeth
Freeman, Eric Freeman 2007
推荐书籍
:
测试驱动开发
(TDD)
Kent Beck
重构
Martin Fowler
Patterns
of Enterprise
Application Architecture
Martin Fowler
Extreme Programming Explained
Kent Beck
Object-oriented
Software Construction
Bertrand Meyer
UML
Distilled(
有中文版
)
Martin Fowler
大部分写于:
2007-02-05
~06
完成于
2007-03-30
修改于:
2009-09-05
:
1.
模式常常组合使用,共同解决问题。
2.
模式是特定场景下优雅的解决方案,因此场景很关键。在软件设计中,特定的场景可能是显而易见的,可能是隐而不现的,有时甚至是设计者有意创造的。因此使用模式时,对问题的分析至关重要。
3.
模式的使用是有先后之分的。
4.
DP
书中所给的结构图仅仅是模式可能的实现方式之一,但不是唯一。实现一个模式往往有多种途径。
5.
模式本身是比较复杂的。纯粹的为了模式而模式,并不会改善设计,相反会引入不必要的复杂性。之所以使用模式,是因为它提供了一种优雅的解决方案
6.
有些模式,比如行为型的模式等,常常在设计初期就引入,但是更多的模式则不宜过早的引入。
“Refactoring to Patterns”
是目前普遍公认的最好的使用设计模式的方法。
7.
模式和语言无关
8.
使用模式不难,用好模式难
.
唯一的建议
:
多编程。
重构与模式
很多模式并非作为主模式被引入系统设计的,往往是在系统不断进化的过程中,根据需求而引入。模式的引入过程就是系统的一个组合重构过程。进化的系统需要持续重构,因此重构就成了使用模式的一个很好的途径。
重构的目标:消除重复代码;消除冗余代码;简化代码逻辑。
本质上,重构就是为了提高代码的可读性和可维护性
等。
重构往往需要测试驱动开发的支持。没有测试代码重构很难进行,测试代码是保证重构不破坏代码原有行为的必要条件。
重构过程不宜采取过大的步骤。采取尽可能小的重构步骤,
在不破坏代码行为的前提下,尽量使重构的代码在可编译状态下进行代码的增删和替换。小步骤的重构往往就是最快的重构方式。
模式导向的重构是把重构和模式使用结合在一起的一个途径。
参考书籍
设计模式1995
设计模式精解(
2nd
)
2006
敏捷软件开发
2003
Refactoring
to Patterns(
中文
:
重构与模式
)
2006
Head
First Design Patterns
Elisabeth
Freeman, Eric Freeman 2007
推荐书籍
:
测试驱动开发
(TDD)
Kent Beck
重构
Martin Fowler
Patterns
of Enterprise
Application Architecture
Martin Fowler
Extreme Programming Explained
Kent Beck
Object-oriented
Software Construction
Bertrand Meyer
UML
Distilled(
有中文版
)
Martin Fowler
大部分写于:
2007-02-05
~06
完成于
2007-03-30
修改于:
2009-09-05
相关文章推荐
- 设计模式学习(六):重构与模式,推荐书籍(完)
- 设计模式学习(六):重构与模式,推荐书籍(完)【转】
- 1.5 推荐优秀书籍 - 网站重构与Web标准设计 - 学习笔记
- 五、工厂方法模式——设计模式学习笔记
- 九、建造者模式——设计模式学习笔记
- 【设计模式学习笔记二十四】【行为模式】【模板方法(Template Method)】
- 十五、组合模式——设计模式学习笔记
- 十九、命令模式——设计模式学习笔记
- 二十四、访问者模式——设计模式学习笔记
- 设计模式学习笔记(三)——Abstract Factory抽象工厂模式 (转)
- 设计模式学习笔记—23个模式
- 设计模式学习笔记--状态模式
- 设计模式学习笔记之装饰者模式
- 设计模式学习笔记(十一:抽象工厂模式)
- 设计模式学习笔记(一)单例模式
- 设计模式学习笔记-适配器模式
- 设计模式学习笔记(十)——Decorator装饰模式
- 【知了堂学习笔记】_Java中设计模式之观察者模式的学习
- java 设计模式学习笔记五Adapter适配器模式
- 设计模式学习笔记(一)