Observer Pattern

This commit is contained in:
kim
2021-01-17 22:52:35 +09:00
parent 47a4544f6f
commit 3b7ff5babe
3 changed files with 41 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
package Observer;
public class Application {
public static void main(String[] args) {
Button button = new Button();
button.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(Button button) {
System.out.println(button + "is Clicked");
}
});
button.onClick();
}
}

View File

@@ -0,0 +1,21 @@
package Observer;
public class Button {
public void onClick() {
// 이벤트 처리
if(onClickListener != null) {
onClickListener.onClick(this);
}
}
public interface OnClickListener {
void onClick(Button button) ;
}
private OnClickListener onClickListener;
public void setOnClickListener(OnClickListener onClickListener) {
this.onClickListener = onClickListener;
}
}

View File

@@ -0,0 +1,3 @@
Observer Pattern
- 상태 변화 관찰
- 이벤트 발생 후 객체 외부에서 처리