加载中...

单一职责原则

单一职责(Simple Responsibility Pinciple,SRP)是指不要存在多于一个导致类变更的原因。假设我们有一个 Class 负责两个职责,一旦发生需求变更,修改其中一个职责的逻辑代码,有可能会导致另一个职责的功能发生故障。这样一来,这个 Class 存在两个导致类变更的原因
下面依然是用代码的例子简单说明一下

点击查看代码
public class Course {
        public void study(String courseName) {
            if ("直播课".equals(courseName)) {
                System.out.println("不能快进");
            } else {
                System.out.println("可以任意的来回播放");
            }
        }
    }
调用
public static void main(String[] args) {
        Course course = new Course();
        course.study("直播课");
        course.study("录播课");
    }
可以看到Course 类承担了直播和录播的两个职责,如果这两个功能有一个需要修改,则会影响到另一个,正确的做法是,建两个类把功能(职责)隔离开来
点击查看代码
public class LiveCourse {
        public void study(String courseName) {
            System.out.println(courseName + "在直播");
        }
    }
    public class ReplayCourse {
        public void study(String courseName) {
            System.out.println("是录像");
        }
    }

public static void main(String[] args) {
        LiveCourse liveCourse = new LiveCourse();
        liveCourse.study("直播课");
        ReplayCourse replayCourse = new ReplayCourse();
        replayCourse.study("录播课");
    }
由此把这两个功能隔离开来,不过以上情况大多是理想情况,在实际开发过程中,有许许多多违背单一职责原则的地方,很典型的比如dao层,经常比如修改用户名称或地址功能,大多数情况下都是直接一个updateUserInfo(StringuserName,String... fileds)方法解决,我们在编码的过程中,既不要被设计原则束缚手脚,也要必要过于糟糕的设计导致的业务迭代困难
posted @ 2023-05-10 15:37  铃芽之旅  阅读(26)  评论(0)    收藏  举报