MFC를 사용하여 작성된 Windows에서 실행되는 응용 프로그램이 있습니다. 메뉴 항목의 활성화/비활성화 상태는 많은 조건에 따라 다릅니다. 예를 들어 조건 A가 충족되거나 조건 B가 충족되면 메뉴 항목을 활성화해야하지만 A와 B가 동시에 TRUE 인 경우에는 비활성화해야합니다. 코드에서 어떻게 모델링합니까? 일종의 상태 머신을 사용해야한다고 생각하지만 상태 머신에 너무 많은 상태가있는 것으로 보입니다. 그러한 문제를 다루는 일반적인 방법은 무엇입니까? 위의 예는 단지 예일 뿐이며, 이와 같은 조건이 더 많을 것임을 유의하십시오. 또한 메뉴를 비활성화해야하므로 메뉴를 항상 활성화 된 상태로 유지하고 사용자가 누를 때 오류 메시지가 표시되는 옵션이 없습니다.UI 상태 처리
명확히하기 위해, MFC에서 메뉴 항목을 비활성화하는 방법을 찾고 있지 않습니다. 상호 의존 상태가 많을 때 메뉴 항목의 사용 가능/사용 불가능 여부를 결정하는 가장 좋은 방법은 무엇을 찾고 있습니까? 관련되어있다.
하지만, 거대한 비즈니스 로직 방법을 사용하는 위험이 있습니다. ( – cwap
나는 그 점도 생각했습니다.하지만 UI 측면에 있기 때문에 비즈니스 로직이 아닙니다. 비즈니스 로직이 있다면 의사 결정은 거기에 다음 다른 클래스 (즉, 일부 비즈니스 로직 클래스에서 "isOptionValid()"를 호출해야한다) 호출 –
점 찍은 - 실제 비즈니스 로직, 더 "논리처럼".. – cwap