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

手机短视频网站的建设枣庄公司做网站

手机短视频网站的建设,枣庄公司做网站,apache搭建网站,wordpress禁用ip当涉及到电商场景时#xff0c;观察者模式可以用于处理多种情况#xff0c;比如订单状态更新、库存变化、用户积分变化等。下面是一个简化的订单状态更新的观察者模式案例。 1.首先#xff0c;定义一个主题接口 OrderSubject /*** Description:主题#xff0c;用于管理观察… 当涉及到电商场景时观察者模式可以用于处理多种情况比如订单状态更新、库存变化、用户积分变化等。下面是一个简化的订单状态更新的观察者模式案例。 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 ListOrderObserver 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逻辑statusSHIPPED 14:49:40.082 [main] INFO com.ft.beanPostProcessor.custom1.Warehouse - 订单状态发生改变处理Warehouse逻辑statusSHIPPED 14:49:40.082 [main] INFO com.ft.beanPostProcessor.custom1.CustomerService - 订单状态发生改变处理CustomerService逻辑statusDELIVERED 14:49:40.082 [main] INFO com.ft.beanPostProcessor.custom1.Warehouse - 订单状态发生改变处理Warehouse逻辑statusDELIVERED
http://www.sczhlp.com/news/236483/

相关文章:

  • 做网站申请域名大概花费多少好用的网站管理系统
  • 多站点wordpress简数采集器ai网站推荐
  • 网站集群建设参数腾讯网qq网站
  • 自贡 网站建设阿里云服务器 个人网站
  • 自动做reference的网站开发一个电商app需要多少钱
  • 农业网站建设方案云南seo网站关键词优化软件
  • 如何登录网站空间南阳企业做网站
  • 广州新塘网站建设深圳极速网站建设定制
  • 大型门户网站开发方案申请域名有什么用
  • php网站开发如何赚钱郑州企业建站公司定制
  • 做曖視頻网站经典设计产品
  • 天河建设网站外包深圳到北京
  • 灯具的网站建设永诚网络
  • 昆山兼职做网站宁波建设网公众查询
  • 黑人与白人做爰网站新网站百度收录要几天
  • 网站建站公司哪家价钱合理软件商店电脑版官方下载
  • 怎么给网站引流中国楼市最新消息已出
  • 西部数码网站管理助手 d盘上海手机网站建设哪家专业
  • 上传自己做的网站吗flash翻页效果网站模板
  • 小学网站建设实施方案南宁 做网站
  • 中英切换的网站咋做怎样将视频放在网站里做
  • 【ESP32 在线语音】Base64编码的科普
  • 校园门户网站建设特点wordpress订单邮件内容修改
  • 潍坊网站建设诸城高密企业网站的建立与维护论文
  • 用discuz可以做视频网站吗青海seo关键词排名优化工具
  • 电商网站 编程语言福州十大设计公司
  • 网站空间支持下载但不能下载文件网站开发培训是不是坑
  • 网站平台建设视频教学网站索引查询
  • 仿大学网站网页代码网页设计岗位职责
  • 贵阳市建设厅官方网站企业网站 免费 php