单一职责原则

Posted 牛哄哄的柯南

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单一职责原则相关的知识,希望对你有一定的参考价值。

单一职责原则

定义

单一职责原则(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

以上是关于单一职责原则的主要内容,如果未能解决你的问题,请参考以下文章

面向对象五大原则-----单一职责原则

设计模式六大原则:单一职责原则

软件设计原则之 单一职责

手撸golang 架构设计原则 单一职责原则

面向对象设计原则之单一职责原则

面向对象编程的六大原则--单一职责原则