Java/디자인패턴
[Java] 옵저버 패턴
권멋져
2023. 7. 12. 09:22
옵저버 패턴
옵저버 패턴은 변화가 일어 났을 때, 미리 등록된 다른 클래스에 통보해주는 패턴을 구현한 것이다. 많이 보이는 곳은 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");
}
}