예, 기본적으로 동작을 캡슐화하는 개체 및 동작이 수행 될 때 필요한 기타 정보는 command pattern을 사용하는 것으로 볼 수 있습니다.
위의 Wikipedia 기사는 Swing의 명령 패턴의 예로 Action
인터페이스를 사용합니다. Action
인터페이스는 ActionListener
의 하위 인터페이스이므로 Action
을 구현하는 클래스는 actionPerformed
메서드를 구현해야합니다.
따라서 Action
을 구현하는 클래스는 동작이 발생할 때 수행되는 일부 작업을 캡슐화합니다. 그리고 그 계급 자체가 명령 패턴을 따르는 것을 볼 수 있습니다.
일반적으로 구현시에는 Action
을 구현하는 것보다 AbstractAction
을 사용하는 것이 더 간편 할 수 있습니다. 몇 가지 방법을 오버라이드해야하기 때문입니다. AbstractAction
를 사용하는 예는 될 수 있습니다
class MySpecialAction extends AbstractAction {
@Override
public void actionPerformed(ActionEvent e) {
// Perform operations.
}
}
MySpecialAction
은 명령 패턴 개체입니다 - 그것은 행동이 일어나는 때 전시해야하는 행동이있다. 위의 클래스를 인스턴스화 할 때, 하나는 다음을 시도 할 수 :
MySpecialAction action = new MySpecialAction("Special Action", mySpecialIcon);
다음 작업은 여러 구성 요소로 등록 할 수 있습니다, 같은 JButton
의, JMenuItem
의 등을. 각각의 경우에 동일한 MySpecialAction
객체를 호출한다 : 두 경우
JMenuItem specialMenuItem = new JMenuItem(action);
/* ... */
JButton b = new JButton(action);
, 각 구성 요소는 버튼 메뉴 항목과 연관된 작업을 동일한 MySpecialAction
동작 객체 또는 명령을 참조. 알 수 있듯이 MySpecialAction
객체는 명령 패턴 다음에 객체로 작동합니다. 동작이 수행 될 때 수행 할 일부 동작을 캡슐화하기 때문입니다.
Thx. 매우 도움이 되었습니까 :) –
링크가 다운되었습니다 .... – KJW
페이지의 링크가 아래로 – jawath