架构设计原则

1. 单一职责原则(Single Responsibility Principle)

简而言之,就是一个类只负责一个职责。则样做的好处就是类的职责比较单一,可以降低类的复杂度,简单为美。代码的可读性提高了,维护的复杂性降低了。

2. 里氏替换原则(Liskov Substitution Principle)

原则:子类可以扩展父类的功能,但不能改变父类原有的功能。具体总结为以下2点:

1) 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
2) 子类中可以增加自己特有的方法。

例如,当类B继承类A时,除添加新的方法完成新增功能外,尽量不要重写父类A的方法,也尽量不要重载父类A的方法。

3. 依赖倒置原则(Dependency Inversion Principle)

DIP(Dependency Inversion Priciple),如果你觉得陌生的话,那么IOC(Inversion of Control,控制反转)你一定不会陌生,Spring的核心思想啊。一句话:面向接口编程。

1) 底层模块尽量都要有抽象类或接口,或者两者都有;
2) 变量的声明类型尽量是抽象类或接口;
3) 使用继承时遵循里氏替换原则。

4. 接口隔离原则(Interface Segregation Principle)

不要创建过大的接口类,即接口中的方法不要过多。本着高内聚的原则,将接口中的方法归类,拆分为几个独立的接口。

5. 迪米特法则

也叫最少知道原则,原则是一个对象应该对其他对象保持最少的了解,出发点是降低类与类之间的耦合度。

6. 开闭原则(Open Closed Principle)

对扩展开放,对修改关闭。这个原则很虚,虚得感觉跟没说一样,索性总结一句:遵循前面5条原则,就相当于遵循了开闭原则O(∩_∩)O