本章内容:
- 模式和框架
- 对设计模式建模
- 对体系结构模式建模
- 使模式可应用
所有结构良好的系统都充满了模式。模式为给定语境中的共同问题提供了一个好的解决方案。机制是应用于类群体的设计模式,框架通常是为领域中的应用系统提供可扩展模板的体系结构模式。
用模式来详细说明形成系统体系结构的机制和框架。通过清楚地标识模式的槽、标签、刻度盘,可以使模式易于使用。
1. 入门
想一想把一堆木头组装起来建造房子的种种方式真有点让人惊异。在A地的专业建筑师手中,这堆木头变成A地格调的房子;在B地的建筑师手中,同样一堆木头,却变成了B地格调的房子。
从外在看,两种房子代表了截然不同的建筑风格。每个建筑师都从自己的经验出发,选择自己认为最适合客户的风格,然后按客户的愿望和建筑地点与地方法规的限制来调整其风格。
从内部看,每个建筑师都必须在设计房子时解决一些共同的问题。解决桁架支撑屋顶的问题就有许多已被证实有效的方法,也有许多经过验证的方法可以用来设计如何在承重墙上开窗户和门。每个建筑师都要选择合适的机制解决这些公共问题,然后根据总体建筑风格和地方性建筑限制去调整这些机制。
建立一个软件密集型系统也是这样。每当以高于代码行的眼光看问题时,会发现一些能够决定以何种方式来组织类或者其他抽象的通用机制。例如,在事件驱动的系统中,使用责任链设计模式是一种组织事件处理程序的通用方法。把眼光放得比这些机制再高一些,会发现一些形成整个系统体系结构的通用框架。例如,在信息系统中,使用三层体系结构是清晰地隔离系统的用户界面、它的永久信息和它的业务对象及规则三者之间关注点的通用处理方法。