六大设计原则
单一职责原则
- 定义:有且仅有一个原因引起类的变更。
- 单一职责是指接口(类)的职责,一个类可以实现多个单职责的接口,但此实现类并不是说就不是单一职责了,实现类应该是更上一层粒度的单一职责。
- 职责的粒度需根据具体业务来定,追求学术上的单职责会导致接口数量巨增,设计太复杂。
里氏替换原则
- 定义:父类出现的地方,可以使用子类替换。
- 在类中调用其他类时必使用其他类的父类或接口。
依赖倒置原则(即面向接口编程)
- 定义:高层模块不应依赖低层模块,两者均只依赖各自的抽象;细节依赖抽象,抽象不依赖细节。
- 模块间的依赖通过各自的抽象发生,实现类间不直接依赖。
接口隔离原则
- 定义:接口尽量细化,接口中的方法尽量少。
- 与单一职责的不同:单一职责是从业务层考虑。
迪米特法则
- 定义:一个类需要对自己需要耦合或调用的类知道的最少。
开闭原则
- 定义:模块、类、方法均应对扩展开放,对修改关闭。
- 尽量通过扩展现有模块、类、方法来实现变化,而不是修改现有代码来完成变化。
使用设计模式注意度,结合业务,不能过度设计。