<2022년 02월 01일 _ 패스트캠퍼스 챌린지 09일차>
[스프링입문_디자인패턴_옵저버 패턴]
1. Observer pattern
: 관찰자 패턴
: 변화가 일어났을 때, 미리 등록 된 다른 클래스에 통보해주는 패턴
: Event Listener에서 해당 패턴이 많이 사용됨
2. 실습
(1) com.company.design 패키지에 observer 패키지 추가 & IButtonListener 인터페이스 추가
package com.company.design.observer;
public interface IButtonListener {
//클릭시 이벤트를 받는 메소드
void clickEvent(String event);
}
(2) Button 클래스 생성
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.clickEvent(message);
}
public void addListener(IButtonListener buttonListener){
this.buttonListener = buttonListener;
}
}
(3) Main문 작성
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 clickEvent(String event) {
System.out.println(event);
}
});
//클릭이 일어나는 경우 예시
button.click("메시지 전달 : click 1");
button.click("메시지 전달 : click 2");
button.click("메시지 전달 : click 3");
button.click("메시지 전달 : click 4");
}
}
메시지 전달 : click 1
메시지 전달 : click 2
메시지 전달 : click 3
메시지 전달 : click 4
결론:
버튼에 대한 클릭이 발생했을 때 Listener를 이용해서 이벤트를 전달해주는 형태를 Observer pattern 이라고 한다.
Swing, JWT, Android, 등의 이벤트를 전달해주는 Listener를 사용하는 것. --> Observer pattern
9일차 강의 완료~
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'개발새발 > Spring' 카테고리의 다른 글
220203_스프링입문_디자인패턴_전략 패턴_패스트캠퍼스 챌린지 11일차 (0) | 2022.02.03 |
---|---|
220202_스프링입문_디자인패턴_파사드 패턴_패스트캠퍼스 챌린지 10일차 (0) | 2022.02.02 |
220131_스프링입문_디자인패턴_데코레이터패턴_패스트캠퍼스 챌린지 08일차 (0) | 2022.01.31 |
220130_스프링입문_디자인패턴_프록시패턴_패스트캠퍼스 챌린지 07일차 (0) | 2022.01.30 |
220129_스프링입문_디자인패턴_어댑터패턴_패스트캠퍼스 챌린지 06일차 (0) | 2022.01.29 |