模式:在普遍场景中,发现问题的本质,并提供了经过充分验证的方法。
三个图式:
1、场景
发现问题的场景。
2、问题
发现强制条件,强制条件可以是统一的,也可能是矛盾的。
强制条件就是约束条件
3、解决方案
主要是平衡强制条件,不能完全解决所有强制条件
模式的类别:
体系结构模式:粗粒度
设计模式:细粒度
惯用法:底层,也就是基础(比如编程语言)
这种分类符合软件工程。
模式之间的关系
不同的模式解决不同的问题,一个模式可能产生另一个问题。需要另一个模式进行解决,体现模式的组合性。
而有些问题的强制条件是矛盾的,只能选择其一或者做平衡。