当前位置:网站首页>单一职责原则
单一职责原则
2022-06-28 03:33:00 【牛哄哄的柯南】
单一职责原则
定义
单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因。
简单来说,就是让一个类只干一部分事情,这样可以降低耦合性,提高复用性,提高可读性,降低由变更引起的风险。
【普通代码】
package pers.keafmd.accumulate.designmode.singleresponsibility;
/** * Keafmd * * @ClassName: FreshmenSelected * @Description: 新生入学 * @author: 牛哄哄的柯南 * @date: 2022-06-27 19:39 */
public class FreshmenSelected {
public void distributeBooks(){
System.out.println("分发书籍。。。");
}
public void allocateDormitory(){
System.out.println("分配宿舍。。。");
}
public static void main(String[] args) {
System.out.println("开始安排新生入学工作:");
FreshmenSelected freshmenSelected = new FreshmenSelected();
freshmenSelected.distributeBooks();
freshmenSelected.allocateDormitory();
System.out.println("工作结束!");
}
}
效果:
开始安排新生入学工作:
分发书籍。。。
分配宿舍。。。
工作结束!
Process finished with exit code 0
【单一职责原则】

StudyMembers
package pers.keafmd.accumulate.designmode.singleresponsibility;
/** * Keafmd * * @ClassName: StudyMembers * @Description: 学习委员 * @author: 牛哄哄的柯南 * @date: 2022-06-27 19:46 */
public class StudyMembers {
public void distributeBooks(){
System.out.println("学习委员负责:分发书籍。。。");
}
}
LifeCommittee
package pers.keafmd.accumulate.designmode.singleresponsibility;
/** * Keafmd * * @ClassName: LifeCommittee * @Description: 生活委员 * @author: 牛哄哄的柯南 * @date: 2022-06-27 19:47 */
public class LifeCommittee {
public void allocateDormitory(){
System.out.println("生活委员负责:分配宿舍。。。");
}
}
ClassMonitor
package pers.keafmd.accumulate.designmode.singleresponsibility;
/** * Keafmd * * @ClassName: ClassMonitor * @Description: 班长 * @author: 牛哄哄的柯南 * @date: 2022-06-27 19:46 */
public class ClassMonitor {
private StudyMembers studyMembers;
private LifeCommittee lifeCommittee;
public ClassMonitor() {
studyMembers = new StudyMembers();
lifeCommittee = new LifeCommittee();
}
public void assignWork(){
System.out.println("班长开始给不同的班干部分配工作,共同完成新生入学工作:");
studyMembers.distributeBooks();
lifeCommittee.allocateDormitory();
System.out.println("工作结束!");
}
public static void main(String[] args) {
System.out.println("开始安排新生入学工作:");
ClassMonitor classMonitor = new ClassMonitor();
classMonitor.assignWork();
}
}
效果:
开始安排新生入学工作:
班长开始给不同的班干部分配工作,共同完成新生入学工作:
学习委员负责:分发书籍。。。
生活委员负责:分配宿舍。。。
工作结束!
Process finished with exit code 0
以上就是设单一职责原则的全部内容
版权声明:
原创博主:牛哄哄的柯南
博主原文链接:https://keafmd.blog.csdn.net/
个人博客链接:https://www.keafmd.top/
看完如果对你有帮助,感谢点击下面的点赞支持!
[哈哈][抱拳]
加油!
共同努力!
Keafmd
边栏推荐
- 品达通用权限系统(Day 5~Day 6)
- leetcode:494. All methods of adding and subtracting operators to the array to get the specified value
- The operating mechanism of spectrogram in audio Science
- django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3
- KVM常用命令详解
- 使用tensorboard进行loss可视化
- 等保三级密码复杂度是多少?多久更换一次?
- Door level modeling - learning notes
- A solution to the inefficiency of setting debug mode in developing flask framework with pychar
- iptables防火墙规则和firewalld防火墙规则详解
猜你喜欢
随机推荐
Principle and Simulation of switching power supply buck circuit
黑體輻射初探
组件拆分实战
密码加密md5和加盐处理
利用ELK 搭建日志分析系统(二)—— 部署安装
如何系统学习一门编程语言? | 黑马程序员
Several ways of sharing printers in LAN
谈云原生,不得不谈的容器
第14章 AC-DC电源前级电路 笔记一
English notes - cause and effect
One article tells you what kubernetes is
C语言十进制与BCD码的相互转换
MSC 307(88) (2010 FTPC Code)第2部分烟气和毒性测试
01 MongoDB的概述、应用场景、下载方式、连接方式和发展历史等
MSC 307(88) (2010 FTPC Code) Part 9床上用品试验
Supplementary questions of monthly competition
内卷、躺平与中年危机的相关思考
品达通用权限系统(Day 5~Day 6)
如何修改SE38编辑器主题
光伏板怎么申请ASTM E108阻燃测试?









