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

模板王网站dewplayer wordpress

模板王网站,dewplayer wordpress,网站策划编辑,个人博客网站设计模板状态模式(State Pattern) 状态模式是一种行为设计模式,允许一个对象在其内部状态改变时改变它的行为。这种模式通过把状态的变化逻辑分布到State的子类之间,减少了相互间的依赖,使得状态的切换更加清晰。 状态模式的…

状态模式(State Pattern)

状态模式是一种行为设计模式,允许一个对象在其内部状态改变时改变它的行为。这种模式通过把状态的变化逻辑分布到State的子类之间,减少了相互间的依赖,使得状态的切换更加清晰。

状态模式的关键是将那些会随着状态改变而改变的行为抽离出来,使得状态和行为可以独立变化,不同状态下的行为可以分别管理和修改,增加新的状态或者改变状态间的转换逻辑变得更加容易。

使用状态模式的好处:
  • 封装了转换规则:状态之间的转换操作被封装在状态类中,易于修改和扩展。
  • 消除了庞大的条件分支语句:状态模式通过多态性来消除原本过多的条件分支语句。
  • 将状态的逻辑与对象的其它行为分离:这有助于集中处理对象在某一状态下的行为。

示例:简单的工作状态切换

假设我们有一个工作任务(Task)对象,这个对象有几个状态:New(新创建的任务),InProgress(正在进行的任务),Completed(已完成的任务)。我们可以使用状态模式来设计这个场景。

步骤 1:定义状态接口

首先,定义一个状态接口和实现该接口的具体状态类。

interface State {void proceed(Task task);
}class New implements State {public void proceed(Task task) {System.out.println("Task is starting.");task.setState(new InProgress());}
}class InProgress implements State {public void proceed(Task task) {System.out.println("Task is in progress.");task.setState(new Completed());}
}class Completed implements State {public void proceed(Task task) {System.out.println("Task is already completed.");}
}
步骤 2:创建 Context 类

然后,创建包含状态的Task类。

class Task {private State state;public Task() {// 任务默认状态为 Newthis.state = new New();}public void setState(State state) {this.state = state;}public void proceed() {state.proceed(this);}
}
步骤 3:使用状态模式

最后,演示如何使用状态模式来改变Task对象的状态。

public class StatePatternDemo {public static void main(String[] args) {Task task = new Task();task.proceed(); // Task is starting.task.proceed(); // Task is in progress.task.proceed(); // Task is already completed.}
}

在这个示例中,Task对象的行为随着其内部状态的改变而改变,而且状态的变更逻辑被封装在状态对象内部。这样,如果未来需要添加新的状态或者改变状态转换的逻辑,我们只需要修改或添加相应的状态类,而不需要触及到Task类的内部逻辑,这就是使用状态模式的好处。

http://www.yayakq.cn/news/819319/

相关文章:

  • 帝国做视频网站深圳做企业网站的公司推荐
  • 网站中常用的英文字体精彩app应用下载
  • 博客做资讯类网站普象工业设计网官网
  • 外贸网站用wordpress网站前台的实现
  • 生成flash的网站源码长沙找工作包吃住6000
  • 贵州省住房和城乡建设厅网网站微信营销模式有
  • 自己动手建设网站过程wordpress怎么静态化
  • wordpress 企业站主题四川城乡住房建设厅官方网站
  • 亚洲做性视频网站微商怎么做分销
  • 湖南网站制作公司推荐wordpress网站慢
  • 建设网站的价格是多少钱长春网站建设模板制作
  • 织梦网站安装品牌微信网站建设
  • 照片网站模版怎样做网站的源代码
  • 找建设网站免费logo在线制作设计
  • 郑州市东区建设环保局官方网站物联网工程主要学什么
  • 扬中网站推广价格整套vi设计机构
  • 网站邮件功能设计理论室内设计师网上培训班
  • wordpress 全站加密广告发布合同模板
  • 广西网站建设建议网站开发路线
  • 宁波怎么建网站模板站百度账户
  • 某些网站dns解析失败建设网站服务费会计分录
  • 网站维护费用包括哪些淘宝的前100个关键词排名
  • 招投标网站开发费用规模以上工业企业名单
  • 北京学电脑的培训机构seo企业网络推广培训
  • 北京传媒公司seo模拟点击软件
  • 使用织梦系统建设网站教程网页系统制作公司
  • 清远建设工程招投标网站网站开发兼职
  • 怎么查看网站开发语言大学生可以做的网站
  • 上海橙网站设计公司网站开发者常见问题
  • 金融网站建设方案ppt模板做文明人网站专题