type
Post
status
Published
date
May 24, 2023
slug
JAVA【设计模式】单一职责原则
summary
JAVA【设计模式】单一职责原则
tags
设计模式
category
技术分享
icon
password

一、设计模式的规范

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

二、单⼀职责

定义:一个类只有一个发生变化的原因
notion image

三、示例

模拟场景:不同等级的用户可以看到不同格式的视频,vip用户可以看到1080p视频,而访客用户只能看480p视频

未有单一职责原则的设计(传统设计):

总结:违背了开背原则,对扩展开放对修改关闭。随着用户类型的增多,代码会出现多个else if的判断,代码变得非常的冗余难以维护。

单一职责原则设计:

定义接口:IVideoUserService,方法:definitionadvertisement

关系图

notion image
总结:利用多态的特性,每新增一个用户类型只需要,多创建一个用户类,去实现接口,这样保证了代码的扩展性和可维护,可读性。