标签
design-principles
- 三种看不见的耦合,和一次搬了家的依赖
耦合常被简化成「数一数 import」。这个判据在最典型的违例上够用,在生产代码里常常失效——把直接调用换成事件总线之后,import 少了两行,依赖并没有消失,只是从编译器能看见的地方挪到了看不见的地方。
- 高内聚:内聚的 6 个等级和误判
内聚常被定义成「模块内部元素的相似程度」。这个判据在最明显的违例上够用——把互不相干的方法扔进一个工具类,谁都看得出问题。它在生产代码里常常失效:按渠道分支的 handler 名字高度相似,却落在 1974 年那份等级表的偏低位置。
- 七条设计原则不是一座金字塔
面向对象的七条设计原则常被画成一座层层递进的金字塔。逐条查过出处之后,这张图不成立——它们出自六拨互不相干的人,跨度二十二年,并且会在同一段代码上给出相反的建议。这是《编程思想》系列的序章。