1、观察者模式定义了一种一对多的依赖关系,让多个观察者对象区监听同样的主题对象。当这个主题对象状态改变时,会通知所有观察者。使他们自动更新自己的状态。
2、观察者模式主要分为两大接口,观察者接口和监听者接口。监听者就是观察的对象。监听者需要存储它所拥有的观察对象,然后当状态改变了区通知他所有的观察者。
3、然而在现实中,在项目中很难一开始就把某些对象当成观察者去实现观察者的抽象接口。这样当一个对象改变导致其他对象跟着改变时,就没法通过观察者模式来实现了。那这个时候我们就要写死在客户端么,好像是可以的。最好的选择是用事件委托来处理,c#中可以通过delegate关键字,结合监听者很容易就实现,而Java要自己写反射来实现,它们底层应该都是通过反射的方式实现的,那么下一篇再来讲讲这个事件委托
Java设计模式之观察者模式
最新推荐文章于 2024-06-13 21:51:44 发布