自学内容网 自学内容网

设计模式三原则

单一职责原则:

对一个类而言,应该仅有一个引起它变化的原因,其实就是将这个类所承担的职责单一化。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者一直这个类完成其他职责的能力。这种耦合会导致设计变得脆弱,当变化发生时,设计会遭受到意想不到的破坏。

开放封闭原则:

对于扩展是开放的,对于修改是封闭的。

例如在一台检测设备中,相机是必不可少的东西,但是客户会根据需求来选择不同品牌的相机,那么我们在些代码的时候就要遵循这个原则,对于不同的相机的类我们是开放的,对于相机子类的实现我们是封闭的。

依赖倒置原则:

高层模块不应该依赖低层模块,两个都应该依赖抽象

抽象不应该依赖细节,细节应该依赖抽象

在实际项目中的对不同的相机进行了开发,在其中包含了海康相机和basler相机,根据上面说到的依赖倒置原则,其中高层模块就是我们写的应用程序,低层模块可以看成是相机的api函数,我们在开发的时候不能直接让应用程序直接调用这些api函数,要是直接调用的话客户要跟换相机从海康相机换成basler相机的话,这样我们就需要把所有海康的api接口换成basler的api接口,这样的工作量很大。

因此根据上述原则,我们需要在高层模块和低层模块之间添加一个中间层也可以成为抽象层。也就是一个同一的接口,这些接口不能改变,我们只需要对这些接口进行重写,在海康相机的子类中就调用海康的api函数,在basler相机的子类中就调用basler相机的api函数,这样很好扩展,之后需要更换相机的时候就重写一个新相机子类即可。

而我们的高层只需要调用这些接口层的函数,不需要关注低层模块是如何实现的,这让整个程序维护起来就十分的方便!

里氏替换原则:

子类类型必须能够替换掉它们的父类类型

子类继承的所有父类的属性和方法对于子类来说都是合理的。

在实际应用中就可以使用子类替换掉父类,同时功能也不会受到影响,父类实现了复用,子类也能在父类的基础上增加新的行为,这就是里氏替换原则。


原文地址:https://blog.csdn.net/weixin_44593575/article/details/142437861

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!