抽象的观察者类.
具体的观察者类.
具体场景及代码演示
你现在是一枚老韭菜!还是会写代码的韭菜!(简单易割还长得快)....这样不是很符合开闭原则,因此使用观察者模式将他重构一下.
由于jdk在util包里有对抽象目标和抽象观察者的定义,这里不做重复的定义,学习一下这两个接口....,删除观察者,通知观察者.存储观察者使用的Vector.保证对观察者的添加及删除操作线程安全.对Vector想了解的朋友可以移步Vector源码阅读....(观察者),之后股票上涨(被观察者变化),看一下结果,观察者是否收到消息并更新自身信息....总结
在对象观察一对多的情况下,观察者模式成功的将我们的系统解耦,并提高了系统的可扩展性,但是有没有问题呢?
有,如果这里的终端不只是个人的,而是一群人的,即:观察者过多,一个个通知将会很慢.