当前位置: 首页> 财经> 金融 > 泰安岱岳区招聘网最新招聘信息_真正免费的商城系统_seo高级教程_短视频seo系统

泰安岱岳区招聘网最新招聘信息_真正免费的商城系统_seo高级教程_短视频seo系统

时间:2025/8/14 22:55:33来源:https://blog.csdn.net/2303_76262050/article/details/143607115 浏览次数:2次
泰安岱岳区招聘网最新招聘信息_真正免费的商城系统_seo高级教程_短视频seo系统

七大原则

一、单一职责原则

        一个类应该只负责一项职责。如果A类需要负责职责1,职责2,则应将A类拆分成A1,A2两类。如果代码足够简单,可以只在方法级别满足单一职责原则。(尽量避免使用分支结构(if……else))

作用:

1)降低复杂度;2)提高可读性;3)降低变更引起的风险(降低耦合度)

二、接口隔离原则

        如果客户端通过一个接口依赖于另一个类,但是并未使用到这个接口的全部方法(如图图片来源:尚硅谷JAVA设计模式B站视频),这将被视作不满足接口隔离原则。

图片来源:尚硅谷JAVA设计模式B站视频【尚硅谷Java设计模式(图解+框架源码剖析)】 https://www.bilibili.com/video/BV1G4411c7N4/?p=10&share_source=copy_web&vd_source=d201972b0245c9267fedd48ea4a16172

        应将接口拆开,使一个类对另一个类的依赖建立在最小接口上。

如图:

图片来源:尚硅谷JAVA设计模式B站视频【尚硅谷Java设计模式(图解+框架源码剖析)】 https://www.bilibili.com/video/BV1G4411c7N4/?p=10&share_source=copy_web&vd_source=d201972b0245c9267fedd48ea4a16172

通过拆分接口,A与C类的耦合度大大降低(例如若修改Interface2,C类将不会受到影响)。B类与D类也不用再实现不需要用到的功能,减少了代码冗余。

三、依赖倒置原则

        通过抽象类/接口传递依赖关系,尽量不与低层(具体)的类产生关系。中心思想是面向接口编程。

        1、低层(具体)类最好继承自抽象类,或拥有接口,方便其他类索取依赖关系。程序也将更加稳定。

        2、尽量避免声明低层(具体)类对象,利用抽象对象和接口实现功能。利于程序扩展和优化

        3、遵循里氏原则。

四、里氏替换原则

        尽量避免重写父类方法,使程序在调用父类时,能透明地使用其子类的方法。如果不可避免地要使用其他方法,可以用组合,接口等进行替换。

        换句话说,只有在概念上有父子关系的类才使用继承,避免不必要的重写。或者直接使用抽象父类,避免调用过程中的误导,降低代码可读性。功能性上的相似,可以利用组合传递其方法,而不是继承。

五、开闭原则(OCP原则)

        特别重要

        设计模式的终极原则:对扩展开放,对修改关闭。

        经常使用与依赖倒置相同的方法改进代码。如用抽象父类作为一群相似对象与调用之间沟通的桥梁。只调用抽象方法,这样就可以将扩展作为抽象类的子类,而不用改变调用层的代码。

六、迪米特法则

        迪米特法则也叫最少知道原则。一个对象应该对其他对象保持最少的了解,要求一个类对自己依赖的类知道的越少越好。

        具体实现:只与直接朋友进行通信。

        直接朋友:在类中直接调用或new一个其他类的对象,或是在方法中以参数或返回值调用哟个其他类的对象,那么这两个类被称作直接朋友。

        简单来说,通过将一个类的逻辑无论多复杂都封装在这个类里,尽量避免在一个类的方法内部直接与某一陌生类产生通信。

七、合成复用原则

        不是很重要

        尽量使用合成/聚合的方法组织代码,而不是继承。将原本继承关系的两个类,可以通过在一个类中创建/传入另一个类的变量来实现通信。

设计模式原则总结:

1) 将可能发生变化的代码封装起来,不要与其他代码有较强的耦合性。

2)使用面向对象/面向接口的编程思维,而不是面向过程编程。

3)一切为了对象之间的松耦合而努力

关键字:泰安岱岳区招聘网最新招聘信息_真正免费的商城系统_seo高级教程_短视频seo系统

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: