답변
IMO와 같은 상황에서는 명령 패턴이 과도하게 사용됩니다. 명령이 완전히 일시적 (개체를 저장하거나 조작하지 않음)하면 추가 된 복잡성, 개체 코드 오버 헤드 및 명령 사용의 보편적 인 부분에 거의 유의하지 않습니다.
보다 적절한 방법은 간단한 스위치 및 메서드 호출입니다. 아마도 구현에서 호출하는 인터페이스를 분리해야 할 수도 있습니다.하지만 나중에 수행 할 수도 있습니다 (테스트 나 추적을 원할 경우 나중에 수행하는 것이 좋습니다). 키가 변경 될 수 있으면 입력 값에서 조치 값으로의 간단한 맵이 간단해야합니다.
감사합니다. Tom - 커맨드 패턴이 약간 과장되어 있다고 생각했습니다. 입력을 받아지도에서 해당 키를 조회하고 Map value 메소드를 다른 클래스의 Reflection을 통해 호출하려고 시도한 입력 핸들러 클래스가 있다고 생각합니다. KEY_A, performMoveLeftAction() KEY_S, performMoveRightAction() KEY_SPACE, performFireAction() 등 맵 파일에서로드 할 수 및 구성을 허용 할 . 이 소리가 그럴듯하고 특정 패턴과 일치합니까? 방문자 패턴을 줄이는 것과 비슷합니다. – Amoeba
입력에 대해 더 많이 알지 못하면 Interpreter pattern을보고 실제로 명령을 실행하는 명령 패턴과 결합하여 입력을 읽고 구문 분석하는 것이 유용 할 수 있습니다.
이 기술은 일반적으로 "double dispatch"이라고하지만 인터프리터 패턴은 일반적인 패턴을 설명합니다.
명령 패턴에서 런타임 입력이 없음을 의미하는 명령을 불변으로 만드는 것이 가장 좋습니다. 이상하게 문제를 복잡하게하지 마십시오. 실시간으로 입력을 받아들이고 어떻게 든 해석해야합니다 (패턴을 설정하면 Thomas의 팁을보십시오). 큰 switch 문이나 큰 if-else 블록을 없애려는 경우 추상 팩터 리 패턴이 유용 할 수 있습니다.
- 1. 디자인 패턴 및 UML
- 2. 리포지토리 디자인 패턴 및 데코레이터 디자인 패턴 사용
- 3. 사용할 디자인 패턴
- 4. 디자인 패턴 - 전략 패턴
- 5. 프로그래밍 언어 및 디자인 패턴
- 6. MVC 패턴 및 데이터베이스 디자인
- 7. 옵서버 디자인 패턴 및 기타
- 8. WCF 및 공장 디자인 패턴
- 9. 인터페이스 및 외관 디자인 패턴
- 10. WPF 사용자 지정 컨트롤 디자인 패턴. MVVM?
- 11. .NET의 사용자 지정 이벤트 디자인 패턴
- 12. .Net 사용자 별 중요 데이터 저장 및 검색을위한 디자인 패턴
- 13. 래퍼 디자인 패턴
- 14. 디자인 패턴
- 15. 디자인 패턴 선택
- 16. MVP 패턴 - 디자인 질문
- 17. 캐시 관리를위한 디자인 패턴
- 18. 서버 에뮬레이터를위한 디자인 패턴
- 19. asp.net의 제공자 디자인 패턴
- 20. CMS 디자인 패턴 및 고려 사항
- 21. 디자인 패턴 질문
- 22. 드래그 앤 드롭 및 마우스 디자인 패턴?
- 23. Android MVC 디자인 패턴
- 24. 메신저를위한 디자인 패턴
- 25. 선택할 디자인 패턴
- 26. FTP 디자인 패턴
- 27. 디자인 패턴 비교
- 28. 프레임 워크 디자인 패턴
- 29. 회계 소프트웨어 디자인 패턴
- 30. 레일의 디자인 패턴
명령 입력에 대해 자세히 설명해 주시겠습니까? –