当前位置: 首页 > news >正文

设计模式-六个基本原则之一-单一职责原则 + 案例

单一职责原理:(SRP) 面向对象六个基本原则之一

  • 清晰的职责:每个类应该有一个明确的职责,避免将多个责任混合在一起。
  • 降低耦合:通过将不同的职责分开,可以降低类之间的耦合度,提高系统的灵活性。
  • 易于维护:当需求发生变化时,只有相关的类需要修改,降低了修改的风险和成本。
  • 提高可读性:代码结构更加清晰,其他开发者能够更容易理解和使用。

        例子

例如权限管理,定义了一个功能,分为普通用户和VIP用户.... 

我们一般处理这样的代码会采用 接口 和 实现类的做法

即:接口负责定义用户行为的规范,而每个实现类则专注于各自角色的具体实现。

这种设计不仅清晰明了,还方便后续的扩展和维护。

        代码

整体结构

接口  

        用于制定规范

实现类 

        用于实现接口从而实现单一职责原则。而不是把所有代码写在一个类里面成一坨。

管理员用户

普通用户

测试类

        这里采用了Spring boot,如果没有学过的话则自己new一下即可。


http://www.mrgr.cn/news/68505.html

相关文章:

  • [第一章 web入门]afr_2
  • 数据结构:七种排序及总结
  • 秒懂Linux之序列化及反序列化
  • 大数据-211 数据挖掘 机器学习理论 - 逻辑回归 scikit-learn 实现 max_iter 分类方式选参数
  • 飞书API-获取tenant_access_token
  • Uniapp底部导航栏设置(附带PS填充图标教程)
  • Linux:git的了解和基础使用(保姆级教程)
  • 如何下载西瓜视频没有水印
  • 普华永道:巨额罚单来了,人早跑了
  • INDEMIND:拿捏松弛感,先从“躺平”开始
  • 智谱AI视频生成模型CogVideoX v1.5开源 支持5/10秒视频生成
  • Spark的DSL常用操作
  • 前端递归获取树(不限制层级)结构下的某个字段并组成数组返回
  • ReadKidz | 一个生成儿童故事绘本的平台
  • PG逻辑复制的REPLICA IDENTITY几种设置
  • 全自动卤煮牛肉猪头肉夹层锅:
  • vue大疆建图航拍功能实现
  • 短期电力负荷
  • C++初阶学习第十弹——深入讲解vector的迭代器失效
  • 深度图和深度值
  • 无处不在的算法,竟然帮你找到理想对象!
  • Docker Compose部署Rabbitmq(Dockerfile安装延迟队列)
  • ffmpeg视频滤镜:组合两个视频为立体视频- framepack
  • cooladmin使用整理
  • Mac切换输入法也有高超技巧
  • MySQL多表查询习题