《Java与设计模式-T3.ppt》由会员分享,可在线阅读,更多相关《Java与设计模式-T3.ppt(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Java与设计模式与设计模式第三章第三章观察者模式:此模式属于行为设计模式它提供的方案可以使得类之间松耦合当一个类更新的时候可以使另一个或者多个类得到通知基本的意思是:当一个地方的某些事情发生后,自动通知其他对此事件感兴趣、正在观察着的人观察者模式观察者模式观察者模式观察者模式医院的例子:病人需要医生、护士、家属的关心观察者模式观察者模式角色角色抽象主题(Subject)角色:把所有的观察者对象的引用保存在一个列表里;每个主题都可以有任何数量的观察者。主题提供添加或撤销添加或撤销观察者对象的方法;主题角色又叫做抽象被观察者角色;观察者模式观察者模式角色角色抽象观察者(Observer)角色:为
2、所有的具体观察者定义一个接口可以用一个抽象类或者一个接口实现;观察者模式观察者模式角色角色具体主题(ConcreteSubject)角色:保存对具体观察者对象有用的内部状态;在这种内部状态改变时给其观察者发出一个通知;具体主题角色又叫作具体被观察者角色;观察者模式观察者模式角色角色具体观察者(ConcreteObserver)角色:具体观察者角色实现抽象观察者角色所要求的接口观察者模式应用观察者模式应用用观察者模式描述“观察病人”被观察者:InvalidMan.java观察者:Human.java测试类:ObserverDemo.java观察者模式应用观察者模式应用JSP中实现:商品名称或单价变化时,向客户发消息被观察者-产品类:Product.java观察者:NameObserver.java观察者:PriceObserver.java总结总结被观察者要继承 Observable类观察者要实现 Observer接口有变化时,观察者中的update()方法自动运行