状态模式

来源:27-2 状态模式coding

憨逗豆

2020-07-22

最近公司项目中的一部分业务逻辑要用到状态模式,参考老师的状态模式有个疑问。老师的状态类中的动作方法,值触发了状态的装换,但是没有触发响应的动作。实际项目中是否还需要调用CourseVideoContext中的courseVideoState来触发实际执行的行为。

public class StopState extends CourseVideoState {
    @Override
    public void play() {
	    //该方法中只是进行了状态的切换,并没有进行动作执行。
        super.courseVideoContext.setCourseVideoState(CourseVideoContext.PLAY_STATE);
        //实际项目中是否还要执行下面方法
        super.courseVideoState.play();
    }

    @Override
    public void speed() {
        System.out.println("ERROR 停止状态不能快进!!");
    }

    @Override
    public void pause() {
        System.out.println("ERROR 停止状态不能暂停!!");
    }

    @Override
    public void stop() {
        System.out.println("停止播放课程视频状态");
    }
}
写回答

1回答

geelylucky

2020-07-23

同学,实现的逻辑是需要在play里面执行的

0
0

Java设计模式精讲-Debug方式+内存分析

系统学习设计原则,设计模式,锤炼编码内功,赢取高薪Offer

3430 学习 · 407 问题

查看课程