范式分类
《Design Patterns》一书接头了23种差异的范式,并依据三个尺度分类(所有尺度都涉及那些大概产生变革的方面)。这三个尺度是:
(1) 建设:工具的建设方法。这凡是涉及工具建设细节的断绝,这样便不必依赖详细范例的工具,所以在新添一种工具范例时也不必窜改代码。
(2) 布局:设计工具,满意特定的项目限制。这涉及工具与其他工具的毗连方法,以担保系统内的改变不会影响到这些毗连。
(3) 行为:对措施中特定范例的动作举办哄骗的工具。这要求我们将但愿采纳的操纵封装起来,好比表明一种语言、实现一个请求、在一个序列中遍历(就象在担任器中那样)可能实现一种算法。本章提供了“调查器”(Observer)和“会见器”(Visitor)的范式的例子。
《Design Patterns》为所有这23种范式都别离利用了一节,随附的尚有大量示例,但大多是用C++编写的,少数用Smalltalk编写(如看过这本书,就知道这实际并不是个大问题,因为很容易即可将根基观念从两种语言翻译到Java里)。此刻这本书并不规划反复《Design Patterns》先容的所有范式,因为那是一本独立的书,各人应该单独阅读。相反,本章只筹备给出一些例子,让各人先对范式有个大抵的印象,并领略它们的重要性到底在那边。