오답노트
[Java] 옵저버 패턴 본문
옵저버 패턴
옵저버 패턴은 변화가 일어 났을 때, 미리 등록된 다른 클래스에 통보해주는 패턴을 구현한 것이다. 많이 보이는 곳은 event listener에서 해당 패턴을 사용하고 있다.
클래스
package observer;
public class Button {
private String name;
private IButtonListener buttonListener;
public Button(String name){
this.name = name;
}
public void click(String message){
buttonListener.clickEvent(message);
}
public void addListener(IButtonListener iButtonListener){
this.buttonListener = iButtonListener;
}
}
package observer;
public interface IButtonListener {
void clickEvent(String event);
}
실행
import observer.Button;
import observer.IButtonListener;
public class Main {
public static void main(String[] args) {
Button button = new Button("버튼");
button.addListener(new IButtonListener() {
@Override
public void clickEvent(String event) {
System.out.println(event);
}
});
button.click("메세지 전달 : click 1");
button.click("메세지 전달 : click 2");
button.click("메세지 전달 : click 3");
button.click("메세지 전달 : click 4");
}
}
'Java > 디자인패턴' 카테고리의 다른 글
[Java] 전략 패턴 (0) | 2023.07.12 |
---|---|
[Java] 파사드 패턴 (0) | 2023.07.12 |
[Java] 프록시 패턴 (0) | 2023.07.11 |
[Java] 어댑터 패턴 (0) | 2023.07.11 |
[Java] 데코레이터 패턴 (0) | 2023.07.11 |