设计模式六大原则简单记录

六大原则

1.单一职责原则

定义:一个类只负责一个职责。
在写代码逻辑时,要将不同的逻辑从类中抽离出来,组成单一逻辑的类,这样的类符合单一职责原则,
将这些类的引用放到之前代码中,就是高内聚,低耦合,所有的逻辑类都聚集在调用类中,但是每个类之间没有关联。

2.接口隔离原则

定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

在这里插入图片描述
接口1中有5个方法,类A实际实现了三个,类C也实际实现了三个,有两个方法是不需要实现的,这样就违反了接口隔离原则,对接口进行改造:

在这里插入图片描述
类A实现接口I1、I2,类C实现了接口I1、I3,在实现类中不存在空实现的方法。

3.依赖倒置原则

定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。中心思想,面向接口变成。
依赖的三种方式:
1、接口,2、构造器,3、set方法
在这里插入图片描述
实现接口中open方法就是指的细节,接口ITV就是指的抽象,细节依赖抽象,能够使扩展更灵活,如果细节依赖细节,如果后期有扩展就只能重新写方法,依赖细节就等于提前写了一个缓冲区,有利于后续扩展

4.里式替换原则

定义:所有引用基类(父类)的地方必须能透明地使用其子类的对象。
子类中尽量不要重写父类的方法。

问题由来:有一功能P1,由类A完成。现需要将功能P1进行扩展,扩展后的功能为P,其中P由原有功能P1与新功能P2组成。新功能P由类A的子类B来完成,则子类B在完成新功能P2的同时,有可能会导致原有功能P1发生故障。

解决方案:当使用继承时,遵循里氏替换原则。类B继承类A时,除添加新的方法完成新增功能P2外,尽量不要重写父类A的方法,也尽量不要重载父类A的方法。【由时候我们可以采用final的手段强制来遵循】

继承包含这样一层含义:父类中凡是已经实现好的方法(相对于抽象方法而言),实际上是在设定一系列的规范和契约,虽然它不强制要求所有的子类必须遵从这些契约,但是如果子类对这些非抽象方法任意修改,就会对整个继承体系造成破坏。而里氏替换原则就是表达了这一层含义。

5.迪米特法则(最少知道原则)

定义:一个对象应该对其他对象保持最少的了解。
通俗的来讲,就是一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类来说,无论逻辑多么复杂,都尽量地的将逻辑封装在类的内部,对外除了提供的public方法,不对外泄漏任何信息。

6.开闭原则

定义:对扩展开放,对修改关闭。
在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。

总结

每个原则记录的都不是很细致,都是记录的我感觉能够理解原则的总结

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值