어느 한 프로그램이 여러가지 기능을 제공한다고 했을때.. (예를 들어 기능 A 부터 P 까지..)
기능 A 는 메뉴 a 를 통해서 실행되고,
기능 B 는 메뉴 b 를 통해서 실행되고,
...
기능 P 는 메뉴 p 를 통해서 실행되고,
이런 식입니다.
아마 대부분 이런경우가 아닌가 싶은데요.. 이런 경우 기능 A가 실행되는 동안 기능 F 가 실행될수 없다거나 실행되어서는 안되는 경우는..
메뉴 f에 대한 선택을 금지시키거나( 기능 A가 다 실행되면 다시 기능 F에 대한 메뉴f 가 활성화 되어야 겠지요.) 사용자가 클릭해도 반응되지 않아야 하는데요..
문제는 이런 식의 상호관계가 점점 더 복잡해 질때... 보통 GUI 에서 어떻게 이런 문제를 다루는지 궁금합니다.
언뜻 생각해보게 되는게 state machine 인데요..
그러니까 각 상태별로 허락되는 메뉴와 아닌 메뉴를 구분해서 매 상태별로 메뉴를 업데이트 시키는 방법말이죠..
근데.. 이게 제게는 전혀 마음에 들지 않는 방법입니다.