본문 바로가기

Programming/Design Pattern

Command Pattern 과제

과제 : Command Pattern을 이용하여 버튼을 누르면 동물의 사진을 출력하는 프로그램을 개발하라, undo기능 추가

 

그리고 기존에 제공한 코드를 

    @Override
    public void actionPerformed(ActionEvent e) {
        for (int i = 0; i < buttonTitles.length; i++) {
            if (e.getSource() == buttons[i]) {
                label.setIcon(imageIcons[i]);
            }
        }
    }

다음과 같이 실행할 수 있도록 바꾸어라(Command button 객체가 실행되게끔 설계)

   @Override
   public void actionPerformed(ActionEvent e) 
   {
       if (e.getSource() instanceof Command) 
       {
           Command c = (Command) e.getSource();
           c.execute();
       }
   }

 

예)

버튼을 누르면 해당 동물사진이 출력된다.

설계) 

코드) https://github.com/kook1932/Computer-Science/tree/master/Design%20Pattern/Command%20Pattern

'Programming > Design Pattern' 카테고리의 다른 글

Adapter Pattern 과제  (0) 2019.12.31
Adapter Pattern  (0) 2019.12.31
Command Pattern  (0) 2019.12.31
Singleton Pattern  (0) 2019.12.30
Factory Pattern  (0) 2019.12.27