优雅解释设计模式七大原则


设计模式常用的的七大原则 (design pattern)

  1. 单一职责原则
  2. 依赖倒转原则
  3. 接口隔离原则
  4. 里式替换原则
  5. 开闭原则
  6. 迪米特法则
  7. 合成复用原则

使用设计模式的目的

  1. 代码重用性
  2. 可读性
  3. 可扩展性
  4. 可靠性
  5. 使程序呈现高内聚,低耦合的特性

单一职责原则

首先一个类只负责一项职责,如类A负责两个不同职责,职责1,职责2,如果职责1出现错误的情况下将影响职责2,所以将类A分开成A1,A2
如下,虽然没有分开写3个类(因为存在开销太大),但是在方法级别上来说也是遵守单一职责
在这里插入图片描述
单一职责原则注意事项及细节

  1. 降低类的复杂度,一个类只负责一项职责
  2. 提高类的可读性,可维护性
  3. 降低需求变更所引起的风险(只需要改对应类中的方法,不影响其他类中的方法)
  4. 通常情况下,我们应当遵循单一职责原则,只有逻辑足够简单才可以违反单一职责原则,只有类中的方法数量足够少,才可以在方法级别中保持单一职责的原则

接口隔离原则

介绍描述
客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上(简单来说就是A类依赖B类,通过接口发生关系,对于不需要的方法拆分小接口)

需求描述
在这里插入图片描述
接口拆分
在这里插入图片描述
接口实现
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
A类通过接口去使用B类
C类通过接口去使用D类

在这里插入图片描述

依赖倒转原则

介绍描述

  • 高层模块不应该依赖低层模块,二者都应该依赖其抽象
  • 抽象不应该依赖细节,细节应该依赖抽象
  • 依赖倒转的中心思想是面向接口编程
  • 使用接口或抽象类的目的是制定好规范,不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成
  • 在java中,抽象指的是接口或抽象类,细节就是具体的实现类

在这里插入图片描述
在这里插入图片描述

里式替换原则

介绍描述

  • 所有引用的基类的地方必须能透明地使用其子类的对象
  • 子类中尽量不要重写父类的方法
  • 继承让两个类耦合性增强了,在适当情况下可以通过聚合,组合,依赖解决
    在这里插入图片描述
    在这里插入图片描述

开闭原则

介绍描述

  • 对扩展开放(对提供方),对修改关闭(使用方),使用抽象构建框架,用实现扩展细节
  • 当软件需要变换时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化
  • 设计模式的目的就是遵循开闭原则
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

迪米特法则

介绍描述
降低类之间的耦合性,增加复用性

合成复用

介绍描述
尽量使用合成/聚合的方式,而不是使用继承

总结

只能说尽量
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值