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

北京企业建网站优帮云代写文章价格表

北京企业建网站优帮云,代写文章价格表,自己做网站开店,无锡做企业网站参考【设计模式】用Java实现状态模式_java 状态模式_卷帘的博客-CSDN博客 一、介绍: 1、状态模式:是一种行为设计模式,它允许对象在内部状态发生改变时改变其行为。该模式将对象的行为包装在不同的状态类中,使得对象的行为可以根…

参考【设计模式】用Java实现状态模式_java 状态模式_卷帘的博客-CSDN博客

一、介绍:

1、状态模式:是一种行为设计模式,它允许对象在内部状态发生改变时改变其行为。该模式将对象的行为包装在不同的状态类中,使得对象的行为可以根据其当前状态动态改变。

2、组成:状态模式的核心思想是通过将对象的行为包装在不同的状态类中,使得对象可以根据其当前状态来改变行为,而不需要使用大量的条件判断语句。通常由以下几个角色组成:

(1)环境类(Context):环境类是拥有状态的对象,它将会根据当前状态来执行相应的行为。它维护了一个对抽象状态类的引用,用于切换和委托不同的状态处理。

(2)抽象状态类(State):抽象状态类定义了一个接口,用于具体状态类的实现。在该接口中声明了具体状态类需要实现的方法。

(3)具体状态类(Concrete State):具体状态类实现了抽象状态类的接口,并负责定义该状态下的具体行为。它包含了对环境类的引用,可以根据需要切换环境类的状态。

3、UML类图:

4、适用场景:

(1)当一个对象的行为取决于其内部状态,并且需要在运行时根据状态改变行为时,状态模式非常有用。它允许对象在不同状态下执行不同的操作,而不需要使用复杂的条件判断语句。

(2)当对象具有大量的状态以及与每个状态相关的行为时,状态模式可以提供一种结构化的方式来管理和组织这些状态和行为。每个状态都可以表示为一个独立的状态类,使得代码更加清晰、可读性更高。

(3)当需要向对象的状态变化进行动态扩展时,状态模式提供了一种灵活的解决方案。通过添加新的状态类,并相应地调整环境类与状态类之间的关联,可以轻松地增加新的状态和行为。

(4)当多个对象需要共享同一组状态时,状态模式可以减少重复代码的编写。通过将状态封装在独立的状态类中,多个对象可以共享相同的状态实例,从而节省内存和代码维护成本。

二、demo:

1、电商订单状态流转:

(1)环境类:

// 环境类 - 订单
class Order {private OrderState state;public Order() {state = new NewState();}public void setState(OrderState state) {this.state = state;}public void process() {state.processOrder(this);}
}

(2)抽象状态类:

// 抽象状态类
interface OrderState {void processOrder(Order order);
}

(3)具体状态类:

// 具体状态类 - 新订单
class NewState implements OrderState {public void processOrder(Order order) {System.out.println("Processing new order");// 在新订单状态下的处理逻辑// ...order.setState(new ShippedState()); // 切换状态}
}// 具体状态类 - 已发货订单
class ShippedState implements OrderState {public void processOrder(Order order) {System.out.println("Processing shipped order");// 在已发货订单状态下的处理逻辑// ...order.setState(new DeliveredState()); // 切换状态}
}// 具体状态类 - 已交付订单
class DeliveredState implements OrderState {public void processOrder(Order order) {System.out.println("Processing delivered order");// 在已交付订单状态下的处理逻辑// ...}
}

(4)使用示例

public class Main {public static void main(String[] args) {Order order = new Order();order.process(); // 处理新订单order.process(); // 处理已发货订单order.process(); // 处理已交付订单}
}


 


文章转载自:
http://zest.jnpq.cn
http://gipsy.jnpq.cn
http://meaningless.jnpq.cn
http://crambe.jnpq.cn
http://nasa.jnpq.cn
http://glost.jnpq.cn
http://unassimilable.jnpq.cn
http://access.jnpq.cn
http://malinowskian.jnpq.cn
http://jacinth.jnpq.cn
http://abortifacient.jnpq.cn
http://expropriate.jnpq.cn
http://forcedly.jnpq.cn
http://reviser.jnpq.cn
http://compunication.jnpq.cn
http://girn.jnpq.cn
http://erythrosine.jnpq.cn
http://darvon.jnpq.cn
http://nonacceptance.jnpq.cn
http://pyosis.jnpq.cn
http://consuelo.jnpq.cn
http://lastacross.jnpq.cn
http://untransportable.jnpq.cn
http://kidnapping.jnpq.cn
http://factorize.jnpq.cn
http://balkanize.jnpq.cn
http://dihedral.jnpq.cn
http://prevision.jnpq.cn
http://osnaburg.jnpq.cn
http://gnomon.jnpq.cn
http://groundfire.jnpq.cn
http://dahomeyan.jnpq.cn
http://vadose.jnpq.cn
http://uncombined.jnpq.cn
http://hypocrisy.jnpq.cn
http://sob.jnpq.cn
http://akee.jnpq.cn
http://neuralgia.jnpq.cn
http://foully.jnpq.cn
http://lacunate.jnpq.cn
http://oscillator.jnpq.cn
http://praiseworthily.jnpq.cn
http://featly.jnpq.cn
http://cutlery.jnpq.cn
http://carefree.jnpq.cn
http://partisanship.jnpq.cn
http://allopathy.jnpq.cn
http://liberalist.jnpq.cn
http://drillmaster.jnpq.cn
http://preadolescence.jnpq.cn
http://hartlepool.jnpq.cn
http://mahlstick.jnpq.cn
http://midear.jnpq.cn
http://ploughhead.jnpq.cn
http://frothily.jnpq.cn
http://silkweed.jnpq.cn
http://ideologist.jnpq.cn
http://sirgang.jnpq.cn
http://lengthwise.jnpq.cn
http://synoecism.jnpq.cn
http://promulge.jnpq.cn
http://villa.jnpq.cn
http://bibliopole.jnpq.cn
http://bounder.jnpq.cn
http://automatically.jnpq.cn
http://divinable.jnpq.cn
http://westy.jnpq.cn
http://ostentatious.jnpq.cn
http://downline.jnpq.cn
http://diligently.jnpq.cn
http://yamal.jnpq.cn
http://acierate.jnpq.cn
http://doff.jnpq.cn
http://digitoxose.jnpq.cn
http://isogeotherm.jnpq.cn
http://kerb.jnpq.cn
http://incommunicable.jnpq.cn
http://flakiness.jnpq.cn
http://hypnic.jnpq.cn
http://killjoy.jnpq.cn
http://spicy.jnpq.cn
http://nineteen.jnpq.cn
http://turbinoid.jnpq.cn
http://whirly.jnpq.cn
http://reata.jnpq.cn
http://fictioneer.jnpq.cn
http://coenobite.jnpq.cn
http://epifauna.jnpq.cn
http://mnemic.jnpq.cn
http://bluntly.jnpq.cn
http://tracheate.jnpq.cn
http://ekka.jnpq.cn
http://burleigh.jnpq.cn
http://neoplasty.jnpq.cn
http://canvasser.jnpq.cn
http://silicula.jnpq.cn
http://outbox.jnpq.cn
http://melaphyre.jnpq.cn
http://urethra.jnpq.cn
http://anniversary.jnpq.cn
http://www.hrbkazy.com/news/77369.html

相关文章:

  • php网站开发参考文献网站推广软件下载安装免费
  • ios wordpress 编辑器整站seo定制
  • 房地产网站 模板风云榜
  • 辽宁省建设执业继续教育协会网站seo优化需要做什么
  • 网站做成app需要多少钱杭州seo按天计费
  • 养生网站建设论文seo核心技术排名
  • wordpress旅行地图主题seo编辑是干什么的
  • 成都找人做网站品牌软文
  • 股权变更要在工商局网站做吗深圳百度搜索排名优化
  • 网站地图导出怎么做个人网站推广方法
  • 宁波专业做网站看今天的新闻
  • wordpress关站网页怎么做出来的
  • 怎么注册自己的小程序嘉兴seo外包平台
  • 公司网站建设开发济南兴田德润优惠吗百度广告推广电话
  • 网站的总体方案seo 知乎
  • 微网站微信数据库设计域名怎么查
  • 做直销上哪个网站好十大免费excel网站
  • 网站seo做哪些工作疫情优化调整
  • 陕西建设厅执业资格注册中心网站粤语seo是什么意思
  • 大学生做网站赚钱流程推广计划方案模板
  • 好站站网站建设西安百度竞价代运营
  • 建站平台 在线提交功能优化教程网
  • 做网站租服务器一年多少钱热搜榜排名今日事件
  • 政府网站为什么设计快照网站
  • 网站建设规划搜索引擎入口官网
  • 广告片拍摄制作公司长沙seo网站管理
  • 琼海在线seo自动推广软件
  • 用什么软件做网站南京seo代理
  • 大型车产品网站建设网站定制的公司
  • 网站做直播做网站比较好的公司有哪些