知识卡片
真实项目中观察者模式的三点改造
内容
教科书式的[[观察者模式的定义与四个角色]]真实落地时有三处改造:消息传递格式化(update 接收被观察者+DTO两个参数);观察者响应方式(用多线程异步或缓存提升响应速度);被观察者 自己拿主意(给业务方法加isNotifyObs参数,由源头决定是否通知)。发散:这三点改造的共同 方向是”给纯粹的多播通知机制补上真实系统需要的格式约定、性能保障、可控性”。
参考来源
- 位置:《设计模式之禅(第2版)》第22章《观察者模式》(源文件:_epub-src/text/part0102.html)
- 结论依据:原文分三点说明真实项目中观察者模式的改造:update方法接受Observable+DTO两个参数、通过多线程或缓存技术提升观察者响应速度、给doSomething方法重载isNotifyObs参数让被观察者自主决定是否通知。
- 原始内容:观察者中的update方法接受两个参数,一个是被观察者,一个是DTO……有两个办法:一是采用多线程技术……二是缓存技术……被观察者的状态改变是否一定要通知观察者呢?不一定吧……增加一个doSomething(boolean isNotifyObs)方法,决定是否通知观察者。