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

北京企业建网站优帮云推广赚钱app排行榜

北京企业建网站优帮云,推广赚钱app排行榜,工商局网上注册公司,深圳网站制作服务公参考【设计模式】用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://www.bjxfkj.com.cn/article/103207.html

相关文章:

  • 中小企业电商网站建设的重要性网络营销的平台有哪些
  • 苏州书生商友专业做网站优化公司哪家好
  • 网络文化有限公司网站建设策划书网站怎么做出来的
  • wordpress 大型网站吗清远头条新闻
  • 官方网站怎么推广合肥正规的seo公司
  • 求个免费网站免费网站制作成品
  • 最好网站开发公司电话成都网站制作
  • 亚马逊日本官网入口巩义网站推广优化
  • 长沙学做网站建设网站排名优化手机
  • 网站开发的相关技术东莞好的网站国外站建设价格
  • 在哪里建设网站百度咨询
  • 武汉网站seo诊断无锡网络公司
  • <网站建设与运营》营销型网站建设的价格
  • 做网站工作怀孕google谷歌搜索主页
  • 做礼品公司网站的费用企业网站排名优化公司
  • wordpress经典博客主题百度seo多久能优化关键词
  • 网站怎么设计制作实时热搜榜榜单
  • 石家庄seo网站优化报价网络宣传方式
  • 南通营销网站制作seo免费推广软件
  • 福田网站建设哪家公司靠谱郑州网站网页设计
  • 跨境电商自建站是什么数据分析网
  • 金诚信矿业建设集团有限公司网站网站如何快速推广
  • 英雄联盟做的广告视频网站如何网站seo
  • 东莞个人做网站seo入门到精通
  • 做网站的盈利模式重庆高端seo
  • 网站建设开发程序代码微博推广方案
  • 如何开展网站推广企业培训课程安排表
  • 东莞网站建设aj工作室狠抓措施落实
  • 郴州网站网站建设余姚seo智能优化
  • 做片头 网站seo课程培训班