例子
    我们课程有直播还有录播, 直播不能快进和后退, 录播可以,功能职责不一样
    Course

    1. public class Course {
    2. public void study(String courseName) {
    3. if ("直播课".equals(courseName)) {
    4. System.out.println(courseName + "不能快进和后退");
    5. } else {
    6. System.out.println(courseName + "可以反复观看");
    7. }
    8. }
    9. }

    调用处的代码

    1. public static void main(String[] args) {
    2. Course course = new Course();
    3. course.study("直播课");
    4. course.study("录播课");
    5. }

    直播和录播加密的流程不一样, 后续改动会互相影响, 应该解耦


    直播课

    1. public class LiveCourse {
    2. public void study(String courseName) {
    3. System.out.println(courseName + "不能快进看");
    4. }
    5. }

    录播课

    1. public class ReplayCourse {
    2. public void study(String courseName) {
    3. System.out.println(courseName + "可以反复看");
    4. }
    5. }

    调用

    1. public static void main(String[] args) {
    2. LiveCourse liveCourse = new LiveCourse();
    3. liveCourse.study("直播课");
    4. ReplayCourse replayCourse = new ReplayCourse();
    5. replayCourse.study("录播课");
    6. }