虽然模式经常被认为是理论上的概念,但是事实上它们所反映的是过去不断出现的实际问题。1.从
概念视角出发——
对象是
具有责任的一个
实体。这些责任定义了对象的行为。有时我还将对象视为具有特定行 为的实体。
即,我需要创建一个对象的时候应该先考虑对象能做些什么,而不是先考虑对象应该具有哪些属性,会有哪些 方法。
2.关注
动机而非实现,是设计模式中反复出现的主题。
3.封装不仅仅是数据隐藏,应该被视为“任何形式的隐藏”。换句话说,可以是隐藏数据,但还可以隐藏以下各种东西:
4.封装
发生变化的概念是许多设计模式的主题。
5.从架构的视角来看,
共性分析为架构提供长期有效的要素;
可变性分析则促进它适应实际使用所需。
6.创建对象时使用
共性和可变性分析比寻找名词和相应的动作更加有效。
7.将继承视作一种
一致地处理概念上相同的各个具体类的方法,比看成一种特化方法,要合理得多。这与前面提到的:
封装发生变化的概念是一致的。
8.敏捷开发的三个核心:
9.
测试驱动开发(test-driven development,TDD),用测试驱动整个开发过程,即先有单元测试,之后再编写代码,因此需要先设计好接口再考虑实现细节。降低代码耦合。
阅读(2384) | 评论(0) | 转发(0) |