type
status
date
slug
summary
tags
category
icon
password
AI summary

一、设计模式的规范

设计模式遵循六⼤原则;单⼀职责( ⼀个类和⽅法只做⼀件事 )、⾥⽒替换( 多态,⼦类可扩展⽗类 )、依赖 倒置( 细节依赖抽象,下层依赖上层 )、接⼝隔离( 建⽴单⼀接⼝ )、迪⽶特原则( 最少知道,降低耦合 )、开闭 原则( 抽象架构,扩展实现 ),会在具体的设计模式章节中,进⾏体现。

二、依赖倒置原则

定义:程序依赖接口,接口定义标准和规范,具体的实现按照场景,而不是使用对象硬编码的方式实现
notion image

三、示例

模拟场景: 1、例如:领导有事需要开部门例会,领导是不可能去每个工位,喊各位同事去参加会议。领导只会在工作群里面申明,今天什么时间段开会,各位收到消息后,自行去开会。。。
2:例如:用户抽奖有随机抽奖和权重抽奖两种方式,我们只需要定义出一套抽奖抽象标准。具体的实现,看随机和权重的不同实现。

非依赖倒置原则(硬编码)

投注用户:BetUser
抽奖控制,硬编码里面的实现方式:DrawControl
测试:ApiTest

依赖倒置原则

投注用户:BetUser
定义接口抽奖:IDraw
随机抽奖实现:RandomDraw
权重抽奖实现:WeightDraw
抽奖控制:DrawControl
测试:ApiTest

UML关系图

硬编码的方式:具体的实现都在此类里
notion image
依赖倒置方式:
notion image
总结: 依赖倒置原则增加了代码的可维护性,利用多态的特性,上级只需要定义标准,下级负责实现,跟装饰者模式有点类似
 
JAVA【设计模式】迪⽶特原则JAVA【设计模式】工厂方法模式