架构漫谈系列(3)其他原则

在最开始,先重复一下第一篇的内容,这个系列是写我们如何来组织代码,如何提高可扩展性和维护性的,并不涉及到网络拓补结构或各类中间件的使用。

首先,提一提面向对象设计的五大原则:SOLID。

SOLID原则

SOLID都是些什么呢?
– SRP, Single responsibility principle,单一职责。一个类只能有一个职责,如果这个类需要被修改,那只能是某一个需求更改导致的(仅此一个,没有更多的)。例如,book类里面有一个print的函数,当我们修改book类的书名时,我们需要改book类,当我们把book的打印从打印到A4改成打印成6寸时,也需要修改此类,这就违背了SRP原则。
– OCP, Open/closed principle,开闭原则,Open for extension, but closed for modification
– LSP, Liskov substitution principle,父类能够被子类无忧的替代,不必担心产生副作用。
– ISP, Interface segregation principle,如果一个接口能够被拆分成多个接口,那就不该用这个通用的接口来呈现。
– DIP, Dependency Inversion principle,依赖于抽象,而不依赖与具体的实现。
继续阅读架构漫谈系列(3)其他原则