当前位置: 首页 > news >正文

做视频网站免费观看爱北京seo顾问外包

做视频网站免费观看爱,北京seo顾问外包,建筑建设行业网站,wordpress 下载服务器设计模式—行为型模式之状态模式 状态(State)模式:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 状态模式包含以下主要角色: 环境类&am…

设计模式—行为型模式之状态模式

状态(State)模式:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。

状态模式包含以下主要角色:

  • 环境类(Context)角色:也称为上下文,它定义了客户端需要的接口,内部维护一个当前状态,并负责具体状态的切换。
  • 抽象状态(State)角色:定义一个接口,用以封装环境对象中的特定状态所对应的行为,可以有一个或多个行为。
  • 具体状态(Concrete State)角色:实现抽象状态所对应的行为,并且在需要的情况下进行状态切换。

示例

比如我们的会议有以下状态:待创建、待开始、进行中、已结束状态;我们的代码如下:

/*** 状态接口*/
public interface MeetingStateInterface {//当前状态void state();//下一个状态MeetingStateInterface next();
}public class WaitCreateMeetingState implements MeetingStateInterface{@Overridepublic void state() {System.out.println("当前在待创建状态");}@Overridepublic MeetingStateInterface next() {return new WaitStartMeetingState();}
}public class WaitStartMeetingState implements MeetingStateInterface{@Overridepublic void state() {System.out.println("待开始状态");}@Overridepublic MeetingStateInterface next() {return new ProcessingMeetingState();}
}public class ProcessingMeetingState implements MeetingStateInterface{@Overridepublic void state() {System.out.println("会议进行中状态");}@Overridepublic MeetingStateInterface next() {return new EndMeetingState();}
}public class EndMeetingState implements MeetingStateInterface{@Overridepublic void state() {System.out.println("已结束会议状态");}@Overridepublic MeetingStateInterface next() {return null;}
}

会议类如下:

public class Meeting {private MeetingStateInterface meetingState;public void setMeetingState(MeetingStateInterface meetingState) {this.meetingState = meetingState;}//会议当前状态public void state(){meetingState.state();}//下一个状态public void nextState(){if(this.meetingState != null){this.meetingState = this.meetingState.next();}}
}
public class StateTest {public static void main(String[] args) {Meeting meeting = new Meeting();meeting.setMeetingState(new WaitCreateMeetingState());meeting.state();meeting.nextState();meeting.state();meeting.nextState();meeting.state();meeting.nextState();meeting.state();meeting.nextState();}
}

运行结果如下:

image-20240112193519932

状体模式一定要有状态切换。

http://www.sczhlp.com/news/103678/

相关文章:

  • 厦门 网站建设 公司哪家好建筑模拟2015
  • 建设网站需要什么软件seo必备工具
  • 网站带gov后缀福田企业网站推广哪个好
  • 网站 设计工具优享wordpress
  • 怎么做html5网站wordpress 列表页模板
  • 创造网站需要多少钱响应式网站的概念
  • 广州佛山app网站商城制作百度搜不到WordPress文章
  • 分类信息网址如何优化网站导航
  • 网站登陆模板如何建立一个网站放视频
  • 二十、DevOps落地:Jenkins基础入门(一)
  • ubuntu 22.04安装mysql5.7
  • Docker如何获取镜像
  • 2025 ICPC 网络赛2 E
  • 偏移寻址
  • 免费短网址生成长春网站优化指导
  • 网站打不开怎么办免费域名注册永久
  • 如何用dw做旅游网站目录大理州建设局网站
  • 婚恋网站怎么做网站型与商城型有什么区别吗
  • 网站建立定位企划数码电子产品网站建设策划书
  • 打电话沟通做网站话术外贸设计网站
  • 付网站建设服务费的会计分录wordpress 加备案号
  • 新手做网站买服务器机械设备产品设计
  • 做外贸网站公司wordpress公司官网主题
  • 自己做整个网站的流程苏宁易购网页布局设计
  • Stringbuilder操作和stringjoiner
  • 西电微机原理与接口技术笔记总结
  • abc423 F - Loud Cicada
  • ​​射频线缆选择指南:构建高性能无线系统的血脉​​
  • 黑客必备的DevOps实战工作坊:4小时动手实验指南
  • 电商网站商品页的优化目标是什么东莞seo网络服务公司