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

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

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

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

        例子

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

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

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

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

        代码

整体结构

接口  

        用于制定规范

实现类 

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

管理员用户

普通用户

测试类

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

代码连接:

设计模式: 设计模式的七大原则以及所有设计模式的案例

http://www.lryc.cn/news/483873.html

相关文章:

  • HWA高速辅助驾驶系统组成及功能场景
  • SpringMVC学习笔记(一)
  • kaggle 如何利用API下载数据集
  • 第一个 Flutter 项目(1)共46节
  • 学术论文写作丨机器学习与深度学习
  • 导-4涉及的知识点
  • 从0开始深度学习(28)——序列模型
  • vue2使用 <component> 标签动态渲染不同的表单组件
  • C#实现在windows上实现指定句柄窗口的指定窗口坐标点击鼠标左键和右键的详细情况
  • 探索Python自动化新境界:Invoke库的神秘面纱
  • CSS样式实现3D效果
  • 华为eNSP:MSTP
  • modbus协议 Mthings模拟器使用
  • 内网安全-代理技术-socket协议
  • 选择排序(C语言)
  • ✍Qt自定义带图标按钮
  • 【Git】如何在 Git 项目中引用另一个 Git 项目:子模块与子树合并
  • webstorm 打开prettier的项目代码后面会出现红色的波浪线
  • 用 Python 从零开始创建神经网络(二):第一个神经元的进阶
  • 一、文心一言问答系统为什么要分对话,是否回学习上下文?二、文心一言是知识检索还是大模型检索?三、文心一言的词向量、词语种类及多头数量
  • C++ 的协程
  • D3的竞品有哪些,D3的优势,D3和echarts的对比
  • 大厂计算机网络高频八股文面试题及参考答案(面试必问,持续更新)
  • 【bayes-Transformer-GRU多维时序预测】多变量输入模型。matlab代码,2023b及其以上
  • 动手学深度学习69 BERT预训练
  • 【2024软考架构案例题】你知道 Es 的几种分词器吗?Standard、Simple、WhiteSpace、Keyword 四种分词器你知道吗?
  • Elman 神经网络 MATLAB 函数详解
  • vue el-date-picker 日期选择器禁用失效问题
  • 搭建Python2和Python3虚拟环境
  • 【HarmonyOS NEXT】一次开发多端部署(以轮播图、Tab栏、列表为例,配合栅格布局与媒体查询,进行 UI 的一多开发)