Java 학습노트-관찰자 모드
4494 단어 Java 학습
예를 들어 한 단추에 여러 개의 감청기가 있으면 단추를 눌렀을 때 여러 관찰자가 알림을 받고 해당하는 조작을 한다.
관찰자는 네 부분으로 구성된다.
4
4
4
4
관찰자 모델의 간단한 실현은 다음과 같다.
추상 주제 역할:
public interface Watched
{
public void addWatcher(Watcher watcher);//
public void removeWatcher(Watcher watcher);//
public void notifyWatchers(String str);//
}
추상 관찰자 역할:
public interface Watcher
{
public void update(String str);
}
특정 주제 역할:
public class ConcreteWatched implements Watched
{
private List<Watcher> list = new ArrayList<Watcher>();
@Override
public void addWatcher(Watcher watcher)
{
list.add(watcher);
}
@Override
public void removeWatcher(Watcher watcher)
{
list.remove(watcher);
}
@Override
public void notifyWatchers(String str)
{
for(Watcher watcher : list)
{
watcher.update(str);
}
}
}
관찰자 역할:
public class ConcreteWatcher implements Watcher
{
@Override
public void update(String str)
{
System.out.println(str);
}
}
테스트 클래스:
public class ObserverTest
{
public static void main(String[] args)
{
Watched girl = new ConcreteWatched();
Watcher w1 = new ConcreteWatcher();
Watcher w2 = new ConcreteWatcher();
Watcher w3 = new ConcreteWatcher();
girl.addWatcher(w1);
girl.addWatcher(w2);
girl.addWatcher(w3);
girl.notifyWatchers("I'm happy");
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JWT 인증 방식의 실현1, 우선 서버에서 로그인 요청을 받았을 때 요청 헤더에 영패가 있는지 확인합니다(첫 로그인은 반드시 없습니다).서버는 계정 비밀번호가 모두 통과된 것을 검증하는 상황에서 token(즉 영패)을 생성하여 응답 헤더에...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.