디자인패턴 6. Observer Pattern

min seung moon·2021년 6월 25일
0

Spring

목록 보기
11/50

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);
}
  • Button.java
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;
    }
}
  • Main.java
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");
    }
}

profile
아직까지는 코린이!

0개의 댓글