Observer Pattern
This commit is contained in:
17
design-pattern/src/Observer/Application.java
Normal file
17
design-pattern/src/Observer/Application.java
Normal 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();
|
||||
}
|
||||
}
|
||||
|
||||
21
design-pattern/src/Observer/Button.java
Normal file
21
design-pattern/src/Observer/Button.java
Normal 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;
|
||||
}
|
||||
}
|
||||
3
design-pattern/src/Observer/Observer
Normal file
3
design-pattern/src/Observer/Observer
Normal file
@@ -0,0 +1,3 @@
|
||||
Observer Pattern
|
||||
- 상태 변화 관찰
|
||||
- 이벤트 발생 후 객체 외부에서 처리
|
||||
Reference in New Issue
Block a user