1.1.1 自顶向下和自底向上
自顶向下的设计者可能会首先考虑主事件循环,然后在考虑插入具体的事件;自底向上设计者通常会考虑封装具体的事务,以后再按照某种相关次序把这些东西粘合在一起。
单纯的使用自底向上和自顶向下都无法达到好的效果。
一方面设计程序逻辑(自顶向下),一方面整理底层的域原语(专业术语),然后在中间结合。这样就导致了胶合层的出现。
1.1.2 胶合层
胶合层的出现是因为自顶向下和自底向上在结合处会有裂痕。
薄胶合层原则可以看做是分离原则的升华,策略(应用逻辑)应该与机制(域原语集)清晰的分离。
1.1.3 薄胶合层实例:c语言
“完美之道,不在于无可增加,而在于无可删减。”——这一点和中国道家的思想很想。
c语言处理紧凑,正交,分离之外,还具有透明性的优点。
c语言的设计展示了一个清晰,简洁的最简化设计能够多么强大。