1. Observer Pattern
- Observer Pattern은 관찰자 패턴이라 하며, 변화가 일어 났을 때, 미리 등록된 다른 클래스에 통보해주는 패턴을 구현한 것
- 많이 보이는 곳은 event listener에서 해당 패턴을 사용 하고 있다
2. 프로젝트 테스트
- Package : observer
- Interface : IButtonListener
- Class : Button
- IButtonListener.java
package com.company.design.observer;
public interface IButtonListener {
void clickEvnet(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 click(String message) {
buttonListener.clickEvnet(message);
}
public void addListener(IButtonListener iButtonListener) {
this.buttonListener = iButtonListener;
}
}
package com.company.design;
import com.company.design.observer.Button;
import com.company.design.observer.IButtonListener;
public class Main {
public static void main(String[] args) {
Button button = new Button("버튼");
button.addListener(new IButtonListener() {
@Override
public void clickEvnet(String event) {
System.out.println(event);
}
});
button.click("메시지 전달 : click 1");
button.click("메시지 전달 : click 2");
button.click("메시지 전달 : click 3");
button.click("메시지 전달 : click 4");
}
}