架构经验法则
有一些架构法则可以帮助我们处理上文描述的恶劣情形。
关注点分离
著名的荷兰计算机科学家Edsger Dijkstra在1974年的论文论科学思维的作用(On the role of scientific thought)上,第一次提到了他关于怎样有效思考的观点。
他把这个观点称为“关注点分离”。迄今为止,它可以说是软件设计中最重要的原则。还有很多其他知名的法则,但是大多数都是从关注点分离原则中推导出来的。最基本的原则很简单:我们应该分开考虑系统不同的方面。
肉聚原则
在计算机科学里,内聚指的是软件模块的各部分之间相互关联的程度。
内聚可以用来衡量模块内部的函数关联的强度。
模块内的高内聚是可取的。
我们可以看到高内聚是关注点分离原则的另一方面。