软件架构设计原则-单一职责原则

Posted 前进道路上的程序猿

tags:

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

前言

单一职责是只尽量是一个类或一个方法只是负责一个职责,从而实现降低耦合的目的,接下来我们就用实际案例来解释

类的单一职责

首先我们有一个课程类如下

public class Course 
    public void study(String courseName) 
        if("直播课".equals(courseName)) 
            System.out.println("在线观看,不可倒退");
         else if("录播课".equals(courseName)) 
            System.out.println("观看历史,可以倒退");
        
    

这里课程实现了针对不同的课程名实现不同的观看体验,但是如果对直播课程或者录播课程进行修改,因为两个混合在一起,所有修改逻辑必然会有所影响,带来不可控的风险,所以此时可以将两个分别进行开发。
LiveCourse:

public class LiveCourse 
    public void study() 
        System.out.println("观看历史,可以倒退");
    

ReplayCourse

public class ReplayCourse 
    public void study() 
        System.out.println("在线观看,不可倒退");
    

这里我们将直播课和录播课都提取出来分别开发,这样就实现了解耦

方法的单一职责

首先我们有一个方法如下

    public void modifyUserInfo(String userName,String address) 
        this.userName=userName;
        this.address=address;
    

这里的方法承担了多个职责,既可以更改姓名,也可以更改地址
我们可以把这个方法进行拆分

	public void modifyUserName(String userName) 
        this.userName=userName;
    
    public void modifyAddress(String address) 
        this.address=address;
    

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

软件架构设计原则-单一职责原则

软件架构的六大设计原则

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

设计模式软件设计七大原则 ( 单一职责原则 | 代码示例 )

架构设计五大原则 SOLID五大设计原则

软件设计原则之 单一职责