• java 6大设计原则 一:观察者模式


     =================================

    解耦常用的模式

     =================================

    OrderService.java

    @Service

    public class OrderService{

    @Autowired

    ApplicationContext  applicationContext ;

    public void saveOrder(){

      //1.创建订单

          System.out.println(“1.创建订单”);

         OrderEvent event = new OrderEvent("参数")

          applicationContext.publishEvent(event);

      //2.发送短信

      //System.out.println(“2.发送短信”);

       //3.发送微信(新需求)

      //System.out.println(“3.发送微信”);

    }

    }

    =================================

    orderEvent.java

    //容器启动事件

    public class OrderEvent extends ApplicationEvent{

    public orderEvent(Object source){

    super(source);

    }

    }

    =================================

     SmsListenter.java

    @Component

    public class SmsListenter implements ApplicationListener<OrderEvent >{

     // 有顺序的执行 SmartApplicationListener

    @override

    pulbic ovid onApplicationEvent(OrderEvent orderEvent){

        //2.发送短信

      //System.out.println(“2.发送短信”);

    }

    }

    =================================

    =================================

    新需求: WxListenter.java

    @Component

    public class WxListenter implements ApplicationListener<OrderEvent >{

    @override

    pulbic ovid onApplicationEvent(OrderEvent orderEvent){

        //2.发送微信

      //System.out.println(“2.发送微信”);

    }

    }

    =================================

  • 相关阅读:
    poj2954
    bzoj1863
    bzoj2002
    bzoj1389
    [POJ3041] Asteroids(最小点覆盖-匈牙利算法)
    [POJ2594] Treasure Exploration(最小路径覆盖-传递闭包 + 匈牙利算法)
    [POJ2446] Chessboard(二分图最大匹配-匈牙利算法)
    [luoguP1266] 速度限制(spfa)
    [luoguP1186] 玛丽卡(spfa)
    [luoguP1027] Car的旅行路线(Floyd)
  • 原文地址:https://www.cnblogs.com/gzhbk/p/12684320.html
Copyright © 2020-2023  润新知