4 개의 버튼이 있고 각각 다른 것을하기를 원한다고합니다. 나는 어떤 버튼이 눌려 졌는지에 따라 다른 일을하는 커다란 switch 문을 원하지 않으며 각 버튼 클릭에 대해 별도의 메소드를 필요로하지 않는다. 명령 패턴은 이것을 해결하는 좋은 방법입니까?명령 패턴을 사용하여 메뉴의 복잡성을 줄이는 방법은 무엇입니까?
2
A
답변
5
네, 이는 명령 패턴의 일반적인 용도입니다. execute() 메소드를 제공하는 클래스 세트 (예 : 열기, 저장, 인쇄)가 있다고 가정하면이 클래스 중 하나의 인스턴스를 버튼과 연관시킬 수 있고 버튼의 onclick 이벤트는 execute) 관련된 명령이하는 일의 세부 사항을 모른 채.
Wikipedia article은 다른 일반적인 명령 패턴을 사용합니다.
0
예. 나는 메뉴 클릭과 툴바 클릭과 같은 액션으로 묶는 것을 도왔다. 그것은 꽤 잘 작동합니다. 그것은 어떤 방법 으로든 어떤 것도 혁명을 일으키지는 않지만 더 깨끗한 코드를 제공하고 불쾌한 switch 문을 없애줍니다.
나는 어딘가에 몇 가지 예를 들어주기 위해 파기를 시도 할 코드가 있습니다.
관련 문제
- 1. 해시를 "줄이는"방법은 무엇입니까?
- 2. 명령 패턴을 사용해야합니까?
- 3. 패턴을 사용하여 UIPopoverController 관리를 단순화하는 방법은 무엇입니까?
- 4. 색상 패턴을 사용하여 이미지를 자르는 방법은 무엇입니까?
- 5. 다른 청취자와 함께 명령 패턴을 설계하는 방법은 무엇입니까?
- 6. 글꼴 크기를 줄이는 방법은 무엇입니까?
- 7. 논리 문장을 줄이는 방법은 무엇입니까?
- 8. vb6을 사용하여 볼륨을 줄이는 방법
- 9. Java에서 명령 패턴을 구현하려면 어떻게해야합니까?
- 10. 파일과 패턴을 일치시키는 sed 명령
- 11. 명령 내가 MVVM 패턴을 사용
- 12. 로그백 로그에서 스레드 이름을 줄이는 방법은 무엇입니까?
- 13. Netbeans의 메모리 사용을 줄이는 방법은 무엇입니까?
- 14. XMLHttpRequest 시간 지연을 줄이는 방법은 무엇입니까?
- 15. LaTeX을 사용하여 다른 텍스트와의 분리를 줄이는 방법은 무엇입니까?
- 16. 안드로이드에서 XML을 사용하여 목록보기 너비의 크기를 줄이는 방법은 무엇입니까?
- 17. 정규식 패턴을 작성하는 방법은 무엇입니까?
- 18. file.xml을 통해 package.xml의 경로를 줄이는 방법은 무엇입니까?
- 19. 컨텍스트 메뉴의 표시를 시작한보기를 얻는 방법은 무엇입니까?
- 20. 컨텍스트 메뉴의 제목을 설정하는 방법은 무엇입니까?
- 21. Solr 메모리 사용을 줄이는 방법은 무엇입니까?
- 22. 사전 항목 수를 효과적으로 줄이는 방법은 무엇입니까?
- 23. TCP 시간 제한을 줄이는 방법은 무엇입니까?
- 24. 갤러리 위젯의 "마찰"을 줄이는 방법은 무엇입니까?
- 25. 연락처 로딩 시간을 줄이는 방법은 무엇입니까?
- 26. 게임에서 공격 빈도의 영향을 줄이는 방법은 무엇입니까?
- 27. 이 프로그램의 페이지 오류를 줄이는 방법은 무엇입니까?
- 28. Service Broker 큐 플러딩을 줄이는 방법은 무엇입니까?
- 29. Qt 빌드의 크기를 줄이는 방법은 무엇입니까?
- 30. Silverlight에서 DataGridCell의 높이를 줄이는 방법은 무엇입니까?
가장 좋은 방법은 버튼 내부입니다. 예를 들어 ICommand에 대한 참조를 유지하는 특수한 "CommandButton"클래스가 있거나 조회 할 때 클래스 외부에 있습니까? – Iain