软件架构设计原则(我们为什么要学习)

软件架构设计原则,一共有七个:
1、开闭原则;
在设计一个模块时,当业务需要扩展,保证在不修改原有代码的基础上,对系统进行扩展,确保系统的稳定性。
例如,软件中某一个功能,需要升级扩展新功能,就需要满足开闭原则,也就是,不修改原有代码,只增加新功能。

2、依赖倒置原则;
设计的具体实现细节要依赖于抽象;
例如:我们日常开发中,拿到新的需求后,要先设计顶层,定义抽象类(如接口),然后根据抽象类去实现具体业务。

3、单一职责原则;
主要是指实现类,一个类最好只负责一个功能。
比如:我们平时编程的时候,会在一个类中写很多方法(功能),当未来这些方法(功能)需要修改时,就不得不在这个类中一遍又一遍的修改代码,代码出现问题的概率就会增加,维护起来也很麻烦,很难复用,耦合性很高。

4、接口隔离原则;
主要指接口,
比如,我们在设计接口的时候,一个接口最要只实现一个功能,保证接口功能的单一性。

5、迪米特法则(最少知道原则);
类和类之间尽量不要产生依赖关系,如果确实非要有依赖关系,要尽量保证他们的依赖最弱。
比如如果非要有依赖的话,优先使用方法体内的成员变量,入参等关系,而不是方法体内部的类。

6、 里氏替换原则;
主要是指子类继承父类的时候,子类能够继承父类的非私有成员变量,也可以重新给父类的非私有成员变量赋值,从而替换父类的属性值。

正是由于里氏替换原则的存在才使得开闭原则得以实现,从而达到,当有新的需求时,不需要修改父类的代码,直接使用子类继承父类,在子类中扩展即可。

7、合成/聚合复用原则;
当有新的需求,需要创建新的对象时,尽量使用对象的组合/聚合来实现,而少用继承关系。

当我们知道了这些原则,并且能够烂熟于胸时,在设计代码架构时,能够根据实际情况灵活的选择适合自己的实际业务场景的原则,加以运用,达到未雨绸缪的效果,当有新需求时,可以很好的扩展。

你可能感兴趣的:(JAVA)