设计软件的原则

前言:

今天通过学习设计模式,通过计算5+6 从版本1到版本7不断地变化,体现了面向对象的原则:隔离、封装等等。

软件设计的原则:

一、开闭原则

定义:在面向对象编程领域中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。

二、依赖倒置原则

定义:A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。

B.抽象不应该依赖于具体,具体应该依赖于抽象。

可以减少类间的耦合性、提高代码可读性和维护性。

三、单一职责原则

定义:如果一个类承担的职责过多,就等于把这些职责耦合在一起了。一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当发生变化时,设计会遭受到意想不到的破坏。

四、接口隔离原则

使用多个专门的接口比使用单一的总接口要好。

一个类对另外一个类的依赖性应当是建立在最小的接口上的。

一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染。

优点:符合我们常说的高内聚低耦合的设计思想,从而使得类具有良好的可读性、可扩展性和可维护性。

五、迪米特法则

定义:一个软件实体应当尽可能少的与其他实体发生相互作用。每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。

迪米特法则的初衷在于降低类之间的耦合。由于每个类尽量减少对其他类的依赖,因此,很容易使得系统的功能模块功能独立,相互之间不存在(或很少有)依赖关系。

大概意思就是能自己解决的就不要去求别人。

六、里式替换法则

定义:里式替换原则是继承复用的基石,当子类可以替换父类,并且软件功能不受影响时,父类才能真正的被复用,子类也可以增加自己新的功能,里式替换原则是对开闭原则的一个补充,它是对实现抽象化的具体步骤规范。里式替换原则所表达的含义就是反对子类重写父类方法的这一含义。

定义扩展:一个软件实体如果适用一个父类的话,那么一定适用于其子类,所有引用父类的地方必须能透明的使用其子类的对象,子类对象能够替换父类对象,而程序逻辑不变。

七、聚合复用法则

定义:尽量使用对象组合/聚合,而不是继承关系达到软件复用的目的。

合成/聚合复用原则经常又叫做合成复用原则。该原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分:新的对象通过向这些对象的委派达到复用已有功能的目的。

我们在写软件的时候,时刻都要注意这些原则,会使我们的代码更加具有灵活性,使得代码有良好的可读性、可扩展性和可维护性。

猜你喜欢

转载自blog.csdn.net/weixin_44690047/article/details/112723628
今日推荐