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

表白二维码制作网站seo外链怎么做

表白二维码制作网站,seo外链怎么做,做年报的网站怎么登不上去了,163公司邮箱登录入口当涉及到电商场景时,观察者模式可以用于处理多种情况,比如订单状态更新、库存变化、用户积分变化等。下面是一个简化的订单状态更新的观察者模式案例。 1.首先,定义一个主题接口 OrderSubject /*** Description:主题,用于管理观察…

当涉及到电商场景时,观察者模式可以用于处理多种情况,比如订单状态更新、库存变化、用户积分变化等。下面是一个简化的订单状态更新的观察者模式案例。

1.首先,定义一个主题接口 OrderSubject

/*** Description:主题,用于管理观察者** @author: wubei* @date: 2023/12/6 14:09*/
public interface OrderSubject {void addObserver(OrderObserver observer);void removeObserver(OrderObserver observer);void notifyObservers(OrderStatus status);}

2.然后,定义一个观察者接口 OrderObserver

/*** Description:** @author: wubei* @date: 2023/12/6 14:09*/
public interface  OrderObserver {void update(OrderStatus status);}

3.接下来,定义订单状态枚举 OrderStatus

/*** Description:** @author: wubei* @date: 2023/12/6 14:10*/
public enum OrderStatus {CREATED, SHIPPED, DELIVERED, CANCELLED}

4.然后,实现具体的订单主题类 Order

/*** Description:* Order 类充当主题(Subject),而 CustomerService 和 Warehouse 类充当观察者(Observer)。* 当订单状态发生变化时,所有注册的观察者都会收到通知,并执行相应的更新逻辑。* 这个模式可以轻松扩展以处理更多的观察者和主题。** @author: wubei* @date: 2023/12/6 14:10*/
public class Order implements OrderSubject {private List<OrderObserver> observers = new ArrayList<>();private OrderStatus status;public Order(OrderStatus status) {this.status = status;}public OrderStatus getStatus() {return status;}public void setStatus(OrderStatus status) {this.status = status;notifyObservers(status);}@Overridepublic void addObserver(OrderObserver observer) {observers.add(observer);}@Overridepublic void removeObserver(OrderObserver observer) {observers.remove(observer);}@Overridepublic void notifyObservers(OrderStatus status) {for (OrderObserver observer : observers) {observer.update(status);}}
}

5.接下来,创建两个具体的观察者类,分别处理订单状态的更新

/*** Description:** @author: wubei* @date: 2023/12/6 14:10*/
@Slf4j
public class CustomerService implements OrderObserver {@Overridepublic void update(OrderStatus status) {log.info("订单状态发生改变处理CustomerService逻辑,status={},", status);// 具体的处理逻辑,例如发送邮件通知客户}
}
/*** Description:** @author: wubei* @date: 2023/12/6 14:10*/
@Slf4j
public class Warehouse implements OrderObserver {@Overridepublic void update(OrderStatus status) {log.info("订单状态发生改变处理Warehouse逻辑,status={},", status);// 具体的处理逻辑,例如更新库存}}

6.最后,在主应用程序中使用这些类

public class Main {public static void main(String[] args) {Order order = new Order(OrderStatus.CREATED);// 创建观察者OrderObserver customerService = new CustomerService();OrderObserver warehouse = new Warehouse();// 注册观察者order.addObserver(customerService);order.addObserver(warehouse);// 模拟订单状态变化order.setStatus(OrderStatus.SHIPPED);order.setStatus(OrderStatus.DELIVERED);}
}

执行结果:

14:49:40.081 [main] INFO com.ft.beanPostProcessor.custom1.CustomerService - 订单状态发生改变处理CustomerService逻辑,status=SHIPPED,
14:49:40.082 [main] INFO com.ft.beanPostProcessor.custom1.Warehouse - 订单状态发生改变处理Warehouse逻辑,status=SHIPPED,
14:49:40.082 [main] INFO com.ft.beanPostProcessor.custom1.CustomerService - 订单状态发生改变处理CustomerService逻辑,status=DELIVERED,
14:49:40.082 [main] INFO com.ft.beanPostProcessor.custom1.Warehouse - 订单状态发生改变处理Warehouse逻辑,status=DELIVERED,
http://www.qdjiajiao.com/news/5051.html

相关文章:

  • 河南做网站多少钱知名品牌营销策略
  • 制作网站公司首 荐乐云seo百度客户端电脑版
  • 海尔网站建设投入提高百度搜索排名
  • 做装修效果图的网站有哪些软件下载广州谷歌seo
  • 专做韩国代购的网站深圳全网推广平台
  • 模拟人生4做游戏下载网站如何推广普通话
  • php的网站怎么做百度竞价排名榜
  • 给客户做网站需要提供最新实时大数据
  • jsp动态网站开发案...海外推广渠道
  • 温州手机网站制作哪家好网站seo搜索引擎的原理是什么
  • tp5企业网站开发视频quark搜索引擎入口
  • 什么网站可以做兼职 知乎百度网址大全 简单版
  • 编程怎么学海会网络做的网站怎么做优化
  • web个人网站怎么做重庆seo博客
  • 生成前端页面的网站杭州网站外包
  • 怎么注册网自己的网站吗百度智能云官网
  • 做网站和app哪类商标googlechrome浏览器
  • 尤溪网站建设排名优化推广
  • 手机有软件做ppt下载网站有哪些内容百度百科搜索入口
  • 安徽安庆天气预报seo网站快速排名
  • 西安行业网站制作专门制作小程序的公司
  • 网站开发定制案例展示seo站长教程
  • wordpress 会员可见seo蜘蛛屯
  • 安徽盛绿建设网站网站优化怎么操作
  • 淮安软件园网站建设互联网营销方法有哪些
  • 外贸独立站营销怎么做网站排名优化师
  • 网站由什么构成高端网站建设哪家便宜
  • 公司网站制作都需要图片推广系统
  • 深圳网络营销网站建设国际新闻最新消息十条
  • 江苏个人网站备案要求西安seo霸屏