设计模式六大原则

本文深入探讨了软件设计中的六大核心原则:开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成/聚合复用原则以及最小知识原则,详细解释了各原则的含义、优点及应用,旨在提升软件的可复用性和可维护性。

开闭原则(Open Closed Principle,OCP)

  一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。模块应尽量在不修改原(是“原”,指原来的代码)代码的情况下进行扩展。

       优点 : 可复用性,可维护性

里氏代换原则(Liskov Substitution Principle,LSP)

  派生类(子类)对象能够替换其基类(父类)对象被调用.

  优点 : 需求变化时,只须继承,而别的东西不会改变。由于里氏代换原则才使得开放封闭成为可能。这样使得子类在父类无需修改的话就可以扩展。

依赖倒转原则(Dependency Inversion Principle,DIP)

  依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。

  优点 : 高层模块不应该依赖低层模块。两个都应该依赖抽象。抽象不应该依赖结节。细节应该依赖抽象.

接口隔离原则(Interface Segregation Principle,ISP)

  客户端不应该依赖它不需要的接口,类间的依赖关系应该建立在最小的接口上.

合成/聚合复用原则(Composite/Aggregate Reuse Principle,CARP)

  合成/聚合复用原则(Composite/Aggregate Reuse Principle,CARP)经常又叫做合成复用原则。合成/聚合复用原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。它的设计原则是:要尽量使用合成/聚合,尽量不要使用继承。

最小知识原则(Principle of Least Knowledge,PLK,也叫迪米特法则)  

  一个软件实体应当尽可能少的与其他实体发生相互作用。每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。迪米特法则的初衷在于降低类之间的耦合。由于每个类尽量减少对其他类的依赖,因此,很容易使得系统的功能模块功能独立,相互之间不存在(或很少有)依赖关系。迪米特法则不希望类之间建立直接的联系。如果真的有需要建立联系,也希望能通过它的友元类来转达。因此,应用迪米特法则有可能造成的一个后果就是:系统中存在大量的中介类,这些类之所以存在完全是为了传递类之间的相互调用关系——这在一定程度上增加了系统的复杂度。

转载于:https://www.cnblogs.com/chenyun666/p/10361267.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值