デザインモードObserver Pattern

1777 ワード

1. Observer Pattern

  • Observer Patternをオブザーバモードと呼び、変更が発生した場合に他の登録済みクラスに通知するモード
  • を実施している.
  • よくある場所eventlistenerでこのモードを使用
  • 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");
        }
    }