java23种设计模式之: 策略模式,观察者模式

时间:2022-05-09 12:57:29

策略模式  --老司机开车,但是他今天想到路虎,明天想开奔驰。。。针对他不同的需求,来产生不同的应对策略    策略类是一个接口,定义了一个大概的方法,而实现具体的策略则是由实现类完成的,这样的目的是可有多种不同的类实现不同的策略.
而在Persion 类中写的是Car接口类,这样用的是多态的特点,即可以写接口类,也可写实现类。如果你有新的策略生成,肯定会有新的实现类,

策略模式优缺点

优点:
    1、可以动态的改变对象的行为
  缺点:
    1、客户端必须知道所有的策略类,并自行决定使用哪一个策略类
    2、策略模式将造成产生很多策略类

策略模式使用场景例子见demo Mode1-Strategy

观察者模式的定义:

   其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。

在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。

观察者模式使用场景例子见demo Mode2-Observer

  有一个微信公众号服务,不定时发布一些消息,关注公众号就可以收到推送消息,取消关注就收不到推送消息。