设计模式七大原则

七大原则有:

  • 单一原则原则
  • 接口隔离原则
  • 依赖倒转原则
  • 里氏替换原则
  • 开闭原则
  • 迪米特法则
  • 合成复用原则

1 单一职责原则

1.1 基本介绍

​ 对类来说的,即一个类应该只负责一项职责。 如类A负责两个不同的职责:职责1,职责2。当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A2。

1.2 应用实例

交通工具

单例模式:static private 懒汉写开,饿汉写一块。

2 接口隔离原则

2.1 基本介绍

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

类A通过接口Interfacel 依赖类B,类C通过接口Interface1 依赖类D,如果接口Interfacel 对于类A和类C来说不是最小接口,那么类B和类D必须去实现他们不需要的方法。

隔离原则应当这样处理:

接口Interface1拆分为独立的几个接口类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则

3 依赖倒转原则

4 里氏替换原则

尽可能少的重写父类,创建更加基础的基类,让A和B都去继承这个基类,原有的继承关系去掉,采用依赖,聚合,组合等关系代替。

5 开闭原则

开闭原则是编程中最基础,最重要的设计原则

当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。

6 迪米特法则

(最少知道原则)

陌生的类最好不要以局部变量的形式出现在类的内部。只与直接朋友通信

直接朋友:我们称出现成员变量,方法参数,方法返回值中的类为直接朋友。

非直接朋友应该封装起来。

迪米特法则至少要求降低类与类直接的耦合,而不是不能耦合。

7 合成复用原则

原则是尽量使用合成/聚合的方式,而不是使用继承。

相关推荐
geovindu12 小时前
go: Proxy Pattern
开发语言·后端·设计模式·golang·代理模式
A-Jie-Y13 小时前
JAVA23种设计模式
java·设计模式
小程故事多_8017 小时前
Claude Code 全流程梳理,从需求输入到工具执行的完整逻辑
人工智能·设计模式·智能体·claude code·harness
cui178756820 小时前
排队免单模式:从爆火到优化,探寻实体商业新出路
大数据·人工智能·设计模式·个人开发·设计规范
医疗信息化王工20 小时前
26种不良事件表单的通用设计模式与实现
设计模式
mounter62520 小时前
【内核精进】Linux Kernel 设计模式(一):引用计数与可见性的艺术
linux·设计模式·linux kernel
workflower21 小时前
机器人应用-高空立面清洁
人工智能·深度学习·设计模式·机器人·软件工程·软件构建
likerhood21 小时前
设计模式:原型模式(Prototype Pattern)java版本
java·设计模式·原型模式
小程故事多_802 天前
从Claude Code源码中,拆解13个可直接复用的Agentic Harness设计模式(生产级实战解析)
人工智能·设计模式·智能体·claude code·harness
踩着两条虫2 天前
VTJ 平台六大设计模式落地实战指南
开发语言·前端·人工智能·低代码·设计模式·重构·架构