액션 디자인 패턴은 무엇입니까?
-
22-08-2019 - |
문제
액션 디자인 패턴은 무엇입니까? 전에 들어 본 적이 없습니까? 나는 그것이 동일하다고 생각한다 명령 디자인 패턴 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){}
}
도움이되기를 바랍니다.