4 개의 버튼이 있고 각각 다른 것을하기를 원한다고합니다. 나는 어떤 버튼이 눌려 졌는지에 따라 다른 일을하는 커다란 switch 문을 원하지 않으며 각 버튼 클릭에 대해 별도의 메소드를 필요로하지 않는다. 명령 패턴은 이것을 해결하는 좋은 방법입니까?명령 패턴을 사용하여 메뉴의 복잡성을 줄이는 방법은 무엇입니까?
2
A
답변
5
네, 이는 명령 패턴의 일반적인 용도입니다. execute() 메소드를 제공하는 클래스 세트 (예 : 열기, 저장, 인쇄)가 있다고 가정하면이 클래스 중 하나의 인스턴스를 버튼과 연관시킬 수 있고 버튼의 onclick 이벤트는 execute) 관련된 명령이하는 일의 세부 사항을 모른 채.
Wikipedia article은 다른 일반적인 명령 패턴을 사용합니다.
0
예. 나는 메뉴 클릭과 툴바 클릭과 같은 액션으로 묶는 것을 도왔다. 그것은 꽤 잘 작동합니다. 그것은 어떤 방법 으로든 어떤 것도 혁명을 일으키지는 않지만 더 깨끗한 코드를 제공하고 불쾌한 switch 문을 없애줍니다.
나는 어딘가에 몇 가지 예를 들어주기 위해 파기를 시도 할 코드가 있습니다.
가장 좋은 방법은 버튼 내부입니다. 예를 들어 ICommand에 대한 참조를 유지하는 특수한 "CommandButton"클래스가 있거나 조회 할 때 클래스 외부에 있습니까? – Iain