문제

액션 디자인 패턴은 무엇입니까? 전에 들어 본 적이 없습니까? 나는 그것이 동일하다고 생각한다 명령 디자인 패턴 Wikipedia]하지만 그에 대한 리소스를 찾을 수 없습니다.

도움이 되었습니까?

해결책

당신은 옳습니다. Action Pattern == 명령 패턴입니다. GUI 디자인에서 액션 패턴을 더 자주 "일부 버튼을 누르면이 작업을 수행하십시오"형식으로 자주 호출되는 것을 들었습니다. 코드에서 버튼은 어떤 종류의 액션 객체와 연결됩니다.

다른 팁

내가 읽고 있어요 "행동/집행자 패턴"지금 MSDN에서, 나는 명령과 행동/집행자 패턴이 동일하다는 전제에 동의하지 않아야합니다.

설명에서 명령 패턴 sourcemaking.com에서 :

  • 요청을 객체로 캡슐화하여 다른 요청, 대기열 또는 로그 요청으로 클라이언트를 매개 변수화 할 수있게 해주 며 소외된 작업을 지원할 수 있습니다.
  • "객체에서 메소드의 호출"을 전체 개체 상태로 홍보
  • 객체 지향 콜백

행동/집행자 패턴에 대한 MSDN 기사에서 :

작업/집행자 패턴은 사용 사례를 코드에 매핑하는 전략을 식별하여 가시성과 민첩성을 향상시킵니다. 또한 오염 된 엔티티의 문제를 해결하고 트랜잭션의 적절한 사용을 건너 뛰는 문제를 해결합니다.

차이점은 "액션"이 하나 이상의 단계를 캡슐화하는 것으로 보이며, 이러한 변경 사항을 수행 할 때 해당 변경 사항을 데이터베이스, 웹 서비스 또는 파일 스토리지로 유지하는 방법을 알고있는 다른 개체에 대한 제어를 성공적으로 위임하는 것으로 보입니다. 행동은 그것이 실행/지속되는 방식과 분리됩니다.

"명령"은 행동/집행자 패턴의 절반처럼 느껴집니다. "행동"은 "명령"과 동의어처럼 보입니다. 행동/집행자 패턴은 한 단계 더 나아가서 "행동"또는 "명령"에 의해 생성 된 변경 사항을 취하고 어떤 장소를 저장하는 책임이있는 또 다른 우려를 설명합니다.

액션 설계 패턴은 명령 설계 패턴과 동일합니다. 행동은 핵심 엔티티로, 행동의 행동, do () 방법에 대해 처리해야 할 처리, 취소 방법 등에 관한 정보 자체를 캡슐화합니다. 응용 프로그램 또는 그 구성 요소가 액션 설계 패턴에 따라 설계되면 응용 프로그램의 모든 활동은 동작 형태로 표시 될 수 있으며 모든 것을 여러 번 다시 작성/취소 할 수 있습니다. 예를 들어. Excel의 매크로, 텍스트 편집자 등의 실행 취소/Redo 등

이 설계 패턴의 빌딩 블록 인 액션 클래스는 다음과 같이 설계 될 수 있습니다.-

public interface Action{
  public void do();
  public void undo();
  public void do(int iNoOfTimes);
}

public class FileCopyAction implements Action{
  private int iActionId;
  public void do(){}
  public void undo(){}
  public void do(int iNoOfItems){}
}

도움이되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top