写个责任链模式(混用观察者)
来源:互联网 发布:淘宝买到盗版书怎么办 编辑:程序博客网 时间:2024/05/17 09:34
定义:
责任链模式重点在于链上,可以在发生者和处理者之间解耦,使事件在链上传递,直到有一个类处理了这个事件。
在工作中,我们跟观察者模式混用在一起,
处理方法实现对应的接口,在spring中可以加入@Order定义加载顺序
观察者:
@Componentpublic class XEventDispatch implements Observer { @Autowired private List<XEventCustomer>xEventCustomers; public void update(Observable source, Object arg) { //事件的源头 X x = (X) arg; //事件 XEvent event = (XEvent) source;//责任链变种 for (XEventCustomer xEventCustomer : xEventCustomers) { if (xEventCustomer.getStatus().getCode() == event.getType().getCode()) { xEventCustomer.exec(event); return; } } }}
被观察者:public class XEvent extends Observable { private XEventDispatch xEventDispatch; //事件起源 private X source; //事件的类型 private PublicClassInfoStatusEnum type; //传入事件的源头,默认为新建类型 public SmallClassEvent(SmallClass smallClass, SmallClassEventDispatch smallClassEventDispatch) { this(smallClass, smallClassEventDispatch, PublicClassInfoStatusEnum.CREATE); } //事件源头以及事件类型 public XEvent(X p, XEventDispatch xEventDispatch, StatusEnum type) { this.xeventDispatch = xEventDispatch; this.source = p; this.type = type; //事件触发 this.notifyEventDispatch(); } //通知事件处理中心 private void notifyEventDispatch() { super.addObserver(xEventDispatch); super.setChanged(); super.notifyObservers(source); }}
阅读全文
0 0
- 写个责任链模式(混用观察者)
- 写个观察者模式
- 观察者模式 VS 责任链模式
- 用责任链模式写注册逻辑
- C语言设计模式:责任链、观察者和访问者
- 初学es6写了个观察者模式,请多指教!!!!
- 观察者模式(Observer),责任链模式,访问者模式(Visitor)
- [设计模式](十一):观察者模式|迭代器模式|责任链模式|命令模式(四种类间行为模式)
- 责任链模式(未完成)--- 用时再写
- 责任型模式之Observer(观察者)模式
- 责任链模式
- 深入浅出责任链模式
- 责任链模式
- 责任链模式
- 深入浅出责任链模式
- 责任链模式(一)
- 责任链模式(二)
- 责任链模式(三)
- Java小项目---租车管理系统
- win7下 MongoDB数据库搭建
- MySQL行级锁
- mysql查看和修改数据库表字段编码格式及添加删除外键操作
- MUI 使用ES6语法时在手机上运行报错简单处理方法
- 写个责任链模式(混用观察者)
- NGUI中UIPopupList的创建与使用
- java获得项目绝对路径
- 感谢爱测未来,零基础的我的实习期是这么过来的
- truncate 与delete
- 3:颜色
- 关于ZWrite的不一样
- 理解java的三大特性之封装
- 锋利的jquery ch5--