책임형 모드의 Observer(관찰자) 모드
5081 단어 관찰자 모드
import java.util.Observable;
//
public class DataObservable extends Observable{
private int data = 0;
public static final int OUSHU = 0;
public static final int JISHU = 1;
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
setChanged();
if((data&0x0001)==0){
notifyObservers(OUSHU);
} else {
notifyObservers(JISHU);
}
}
}
import java.util.Observable;
import java.util.Observer;
//
public class JishuDataObservable implements Observer{
@Override
public void update(Observable o, Object arg) {
// TODO Auto-generated method stub
if((int)arg == 1){
System.out.println(" : " + ((DataObservable)o).getData());
}
}
}
import java.util.Observable;
import java.util.Observer;
//
public class OushuDataObserver implements Observer{
@Override
public void update(Observable arg0, Object arg1) {
// TODO Auto-generated method stub
if((int)arg1 == DataObservable.OUSHU){
System.out.println(" : " + ((DataObservable)arg0).getData());
}
}
}
//
public class Test {
public static void main(String[] args){
DataObservable observable = new DataObservable();
observable.addObserver(new OushuDataObserver());
observable.addObserver(new JishuDataObservable());
observable.setData(1);
observable.setData(2);
observable.setData(3);
}
}
//
: 1
: 2
: 3
4. 요약: Observer(관찰자) 모델은 리셋 메커니즘으로 이루어진다.Observer 모드의 취지는 여러 대상 간에 일대다 관계를 정의하여 한 대상의 상태가 바뀔 때 이 대상에 의존하는 다른 모든 대상이 알림을 받고 자동으로 업데이트되는 것이다.5. 참조:http://www.cnblogs.com/jaward/p/3277619.html여기에 링크 내용을 쓰시오
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 관찰자 모드 쉽게 파악정의: 객체 간에 일대다 관계가 있을 때 관찰자 모드(Observer Pattern)를 사용합니다.예를 들어 대상이 수정되면 의존 대상을 자동으로 알려준다. 특징: 1. 관찰자와 피관찰자는 추상적인 결합이다. 2. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.