1 .单一职责原则
概念:
- 一个类应该仅有一个引起其变化的原因。
- 应该只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。
- 当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性。例如:要实现逻辑和界面的分离
2.开放-封闭原则
概念:
- 软件实体(函数、类、模块等)应该可以扩展,但是不可以修改。
- 没有绝对封闭的实体,只有更封闭的实体,需要程序员理清可能的变化,然后抽象出接口封装这些变化。
- 开放封闭原则是面向对象设计的核心所在,是对面向对象设计要求封装变化、降低耦合的最直接实现,其他的原则都是以此原则为依据的。
- 对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。
- 对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。
3.依赖倒转原则
概念:
- 抽象不应该依赖于细节,细节应该依赖于抽象。
- 针对接口编程,而不是针对实现编程
- 高层模块不应该依赖于低层模块,两者都应该依赖于抽象