Spring中常用的设计模式

软件架构的设计原则

1.开闭原则(OCP):
·一个软件实体如类,模块和函数应该对扩展开放,对修改关闭。

·所谓的开闭,正是对扩展和修改两个行为的一个原则

·强调的是用抽象构建框架,用实现扩展细节。可以提高软件系统的可复用性以及可维护性

·开闭原则,是面向对象设计中最基础的设计原则,它指导我们如何建立稳定,灵活的系统,例如版本更新,我们尽可能不修改源代码,但是可以增加新功能。

·要想达到这样的效果,我们需要使用接口和抽象类

2.依赖倒置原则(DIP):
·是指设计代码结构时,高层模块不应该依赖底层,二者都应该依赖其抽象。抽象不应该依赖细节,细节应该依赖抽象。

·通过依赖倒置,可以减少类与类之间的耦合,提高系统的稳定性,提高代码的可读性,提高代码的可读性和可维护性,并能够降低修改程序所造成的风险。

·他是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体。

3.单一职责原则(SRP):
·是指不要存在多于一个导致类变更得原因。

·假设我们有一个类负责两个职责,一旦需求发生变更,修改其中一个代码中一个职责的逻辑代码,有可能导致另一个职责的工能发生故障。这样一来,这个类就存在两个导致类变更的原因。

·将两个职责用两个类实现,进行解解耦,后期需求变更维护互不影响。

·可以降低类的复杂度,提高类的可读性,提高系统的可维护性,降低变更引起的风险。

4.接口隔离原则(ISP):
是指用多个专门的接口,而不使用单一的总接口,客户端不应该依赖他不需要的接口。

1>一个类对另一个类的依赖应该建立在最小的接口之上。
2>建立单一接口,不要建立庞大臃肿的接口
3>尽量细化接口,接口中的方法尽量少(适度)

5.迪米特原则(LoD):
是指一个对象应该对其他对象较少的了解,又叫最少知道原则

一个类尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

6.里氏替换原则(LSP):
是指如果每一个类型为T1的对象O1,都有类型为T2的对象O2,使得以T1定义的所有程序P在所有的对象O1都换成O2时,程序P的行为没有发生变化,呢么T2是类型T1的子类型

·可以理解为一个软件实体如果适用于一个父类,那么一定适用于子类,所引用父类的地方必须能够透明的使用其子类对象,子类对象能够替换父类对象
,而程序逻辑不变。
也就是说:子类可以扩展父类的功能,但是不能改变父类原有的功能,任何基类可以出现的地方,子类一定可以出现。

7.合成复用原则(CARP):
是指尽量使用对象组合/聚合,而不是继承关系达到复用的目的。可以使系统更加灵活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响较少。
继承叫做白箱复用,相当于把所有的细节暴露给子类。组合/聚合称为黑箱复用,我们无法获取到类以外的对象实现细节的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值