2012-10-22 9 views
2

GWT의 활동 및 장소에 대한 나의 이해는 화면상의 주어진 지역에 대해 ActivityManagerActivityMapper입니다. 화면에 여러 개의 영역을 가질 수 있습니다. 즉, ActivityManagersActivityMappers (한 지역에 하나씩)을 여러 개 가질 수 있습니다. 따라서 PlaceChange이있을 때마다 ActivityManagers은에게 Place이라고 주어진 어떤 활동이 있는지를 물어 봅니다. Places에 모두 공통된 레이아웃이있는 한 다른 방식으로 재사용하여 다른 활동을 수행하는 한 잘됩니다. 제 질문은 다른 Places이 완전히 다른 레이아웃을 사용하는 경우 어떻게 처리할까요? 처음으로 생각한 것은 ActivityManagersActivityMappers인데, Place이 특정 지역을 사용하지 않는 경우 해당 지역의 ActivityMapper은 으로 변경하면 해당 지역의 null을 단순히 반환합니다. 더 좋은 방법이 있다면 나는 모든 지혜에 감사 할 것입니다.GWT는 장소마다 화면 레이아웃이 변경 될 때 활동 및 장소를 사용합니다.

+3

나는 더 좋은 방법이 있다고 생각하지 않습니다. http://tbroyer.posterous.com/gwt-21-activities-nesting-yagni을 참조하십시오. –

+0

감사합니다. 그 기사는 완벽했습니다. – Tom

답변

1

전체 앱에 대해 하나의 ActivityMapper/ActivityManager 쌍을 사용하는 것이 훨씬 쉬운 것으로 나타났습니다.

일반적인 경우에는 "메뉴"영역과 "기본"영역이 있습니다. 메뉴 영역은 매우 기본입니다. 메뉴 항목을 클릭하면 사용자가 새로운 장소로 이동합니다. 또한 새로 선택한 항목을 강조 표시하고 이전에 선택한 항목의 스타일을 재설정합니다. 이 모든 작업은이 메뉴가 필요한 모든보기에 포함 할 수있는 간단한 위젯에서 쉽게 수행 할 수 있습니다. 메뉴 영역에 대해 ActivityMapper와 ActivityManager를 분리하면 어떤 이점도 제공하지 않고 모든 것을 복잡하게 만듭니다.

'톱 메뉴'영역과 '왼쪽 메뉴/트리'영역에 대해 동일한 접근 방식을 사용합니다. '기본'영역에 표시 할 데이터를 발표자에게 알려주는 위젯입니다.

나는 내 응용 프로그램에 50 개 이상의 다른 장소가 있으며, 간단한 아키텍처가 도움이됩니다. 각 장소는 하나의보기와 하나의 활동에 해당합니다.

+0

하나의 ActivityManager/ActivityMapper를 사용하는 동안 해당 구조를 사용하거나 여러 활동을 계속 지원할 수 있도록 단일 작업 공간에 대해 여러 활동을 피하는 것이 중요합니까? – Tom

+0

여러 활동을 사용하지 마십시오. 두 지역이 동시에 지역별 전용 활동을 보장하는 일종의 복잡하고 독립적 인 행동에 동시에 참여하는 UI 디자인을 한 번도 경험하지 못했습니다. 나는 그런 디자인이 가능하다고 생각하지만, 메뉴 나 트리를위한 전용 활동을 만드는 것이 더 많은 문제를 일으킨다 고 생각한다. –