OBSERVER (Object Behavioral)
Purpose
Lets one or more objects be notified of state changes in other
objects within the system.
Use When
1 State changes in one or more objects should trigger behavior
in other objects
2 Broadcasting capabilities are required.
3 An understanding exists that objects will be blind to the
expense of notification.
Example
This pattern can be found in almost every GUI environment.
When buttons, text, and other fields are placed in applications
the application typically registers as a listener for those controls.
When a user triggers an event, such as clicking a button, the
control iterates through its registered observers and sends a
notification to each.
- package javaPattern.observer;
-
- import java.util.ArrayList;
-
- public interface Observer {
- public void update();
- }
- class ConcreteObserver implements Observer{
-
- @Override
- public void update() {
- System.out.println("update...");
-
- }
-
- }
- interface Subject{
- public void attach(Observer o);
- public void detach(Observer o);
- public void notifyObserver();
- }
- class ConreteSubject implements Subject{
- private ArrayList<Observer> observers = new ArrayList<Observer>();
- @Override
- public void attach(Observer o) {
- observers.add(o);
-
- }
-
- @Override
- public void detach(Observer o) {
- observers.remove(o);
-
- }
-
- @Override
- public void notifyObserver() {
- for(Observer o : observers){
- o.update();
- }
-
- }
-
- }
- class Client{
- public static void main(String[] args) {
- Subject subject = new ConreteSubject();
- Observer observer1 = new ConcreteObserver();
- Observer observer2 = new ConcreteObserver();
- Observer observer3 = new ConcreteObserver();
- subject.attach(observer1);
- subject.attach(observer2);
- subject.attach(observer3);
- subject.notifyObserver();
-
- }
- }
分享到:
相关推荐
**Java设计模式之观察者模式详解** 在软件工程中,设计模式是一种被广泛接受的解决常见问题的方法。观察者模式(Observer Pattern)是行为设计模式的一种,它定义了对象之间的一对多依赖关系,当一个对象的状态发生...
观察者模式的定义: 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。 大白话: 其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没...
Java设计模式之观察者模式 定义:观察者模式是一种行为类模式,定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。 结构: * 被观察者(Subject):从...
观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于事件驱动的系统或者...
**观察者模式(Observer Pattern)**是软件设计模式中的一种行为模式,它在Java中有着广泛的应用。这个模式的核心思想是“一对多”的依赖关系,即一个主题对象(Subject)可以被多个观察者(Observer)关注,当主题...
观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于实现事件驱动或者发布...
结合微信公众号讲解观察者模式,生动形象,关键是上手快啊
观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于事件驱动的系统或者...
观察者模式是设计模式中的一种行为模式,它在Java编程中有着广泛的应用。该模式的主要目的是定义对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式也被...
首先,我们来看"Java设计模式——观察者模式的两种情况": 1. **主动通知**: 在这种情况下,被观察者对象在自身状态发生变化时,会主动调用`Observable`接口提供的`notifyObservers()`方法,将变化通知给所有注册的...
在Java编程领域,设计模式是一种被广泛采用的最佳实践,它为解决常见的软件设计问题提供...在Java中,`java.util.Observable`和`java.util.Observer`是内置的观察者模式实现,可以方便地用于快速构建观察者模式的系统。
观察者模式(Observer Pattern)是设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式在软件开发中广泛应用于事件驱动...
Java设计模式是软件工程中的一种最佳实践,它总结了在特定场景下解决常见问题的经验,为程序员提供了可重用的解决方案。本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与...
在Java中,`java.util.Observable`和`java.util.Observer`接口提供了观察者模式的实现。例如,当我们有一个`WeatherStation`类(被观察者)和多个`WeatherDisplay`类(观察者)时,`WeatherStation`的气象数据变化会...
- 观察者模式:定义对象之间的一对多依赖关系,当一个对象的状态改变时,所有依赖于它的对象都会得到通知并自动更新。 - 状态模式:允许对象在其内部状态改变时改变其行为,看起来像改变了它的类。 - 策略模式:...