반응형
관찰자 패턴은 변화가 일어 났을 때, 미리 등록된 다른 클래스에 통보해주는 패턴을 구현한 것이다.
많이 보이는 곳은 event listener에서 해당 패턴을 사용 하고 있다.
package com.company.design.observer;
public interface IButtonListener {
void clickEvent(String event);
}
package com.company.design.observer;
public class Button {
private String name;
private IButtonListener buttonListener;
public Button(String name){
this.name = name;
}
public void addListenner(IButtonListener iButtonListener){
this.buttonListener = iButtonListener;
}
public void click(String message){
buttonListener.clickEvent(message);
}
}
package com.company.design.observer;
public class main {
public static void main(String[] args) {
Button button = new Button("버튼");
button.addListenner(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' 카테고리의 다른 글
Strategy pattern (전략 패턴) (0) | 2021.06.06 |
---|---|
Facade pattern (0) | 2021.06.06 |
데코레이터 패턴 (0) | 2021.06.06 |
Proxy pattern (0) | 2021.06.06 |
Adapter pattern (0) | 2021.06.06 |