2013-03-08 9 views
6

발표자의 역할을 활동에서 분리함으로써 얻을 수있는 이점은 무엇입니까?GWT - 발표자와 활동의 분리 역할

활동이 발표자가되는 것을 분석하기 위해 분리 될 수있는 역할은 무엇입니까?

왜 두 가지 다른 관심사로 구분하고 싶습니까?

어떤 상황에서 통합하지 않는 것이 좋을까요?

예, 찬반 양론을 제공하십시오.

답변

7

widgets에서 데이터를 가져 오는 : 재사용 및 테스트 용이성을.

재사용을위한 실제 사용 사례 : 사진사, 저작권 및 촬영 날짜와 같은 속성을 가진 일러스트레이션 엔티티가 문서에 링크되어 있습니다. 전설은 문서와 일러스트 사이의 관계에 있습니다. 그림과 범례를 각각의 화면에서 편집 할 수 있지만 범례 화면에서 그림을 편집 할 수도 있습니다. 그래서 우리는 일러스트 스크린을위한 발표자를 만들었습니다. 일러스트레이션 활동은 발표자를 둘러싼 정말 얇은 래퍼이며 범례 활동은 조금 복잡하지만 발표자와보기를 재사용합니다. 활동의 책임은 RequestContext을 제공하고 fire()을 수행하는 것입니다 (저장/취소 버튼은 Google 그룹스의 작업과 유사하게 다른 활동에 있습니다). 재사용에 대한

가설 사용 사례 : 다른 폼 팩터에 대한

  • , 당신은 동일한 화면에 물건을 집계하거나 자신의 화면 (예 : 마스터/세부 사항), 그리고 때를 그들을 분리 할 두 가지 활동이 이상적이지 않을 수도 있습니다. 전화 폼 팩터에서 씬 액티비티를 사용하면 태블릿 또는 데스크탑 폼 팩터에서 단일 액티비티 내에서 구성 요소 (발표자 /보기)를 재사용 할 수 있습니다.
  • 다른 플랫폼에서 동일한 발표자를 재사용 : Android 앱과 웹 앱 (심지어 iOS 앱인 java2objc)에서 동일한 발표자를 사용할 수 있습니다.보기는 기본 Android보기 또는 GWT 기반입니다. 보기 및 탐색은 Android 활동 및/또는 조각 대 GWT 활동 및 장소에 의해 처리됩니다. 테스트 용이성 소개

(이것은 이론적 인), 그런 다음 활동의 라이프 사이클 (보기를 조롱)의 번거 로움없이 발표자를 테스트 할 수 있으며, 다음 개별적으로 제대로 초기화까지 청소 여부 (라이프 사이클을 테스트 발표자, 데이터 가져 오기/캐시, 발표자 조롱 등).

https://code.google.com/p/google-web-toolkit/source/detail?r=10185
레이의 생각의 커밋 메시지가 휴대 위젯 오늘 내부 발표자를 사용하는 것처럼, MVP 위젯의 구현 세부 만드는 것이었다 또한
를 참조하십시오. 바깥 쪽에서는 원하는대로 작곡 할 수있는 위젯 일뿐입니다. 내부에서는 MVP를 사용하므로 GWTTestCase 없이도 테스트 할 수 있습니다.

+0

당신의 대답을 읽기 전에 누군가 나에게 똑같은 말을했으나 자세한 것은 아닙니다. 이것이 제가 코딩 전략을 고안하는 데 도움이 되고자하는 답입니다. Thk u. –

0

우선 가장 긴 연구에 나를 밀어 넣는 질문에 감사드립니다. :)

Thomos Broyer에 따라 here에 따르면.

활동이 발표자가 할 수있는 위젯과 대화 할 수 없습니다. 우려의

두 가지 주요 영역 : 방법이 디자인을 향상시킬 수 :

1 - 위젯에 데이터를 얻기? 다음 이후 widget에 손입니다 Presenter 에 제공 Activity 데이터 여기

Server (RequestFactory) ---> Activity ---> WidgetPresenter ---> Widget 

, RequestFactory 손.

2 내가 활동에서 발표자를 분리하는 두 가지 이유 볼 수 server

widget ---> WidgetPresenter ---> Activity ---> Server(RequestFactory) 
+0

링크에서 제공하는 활동은 단순히 장소에 연결된 발표자 일 뿐이지 만 widgetpresenters는 연관된 장소가없는 발표자입니다. 장소 및 발표자는 분리 된 주제입니다. 내부에 하위 발표자가있는 발표자를 갖는 것을 방해하지 않습니다. 이제는 슈퍼 프레젠터의 모든 통신을 처리하도록 결정할 수 있지만 위젯 프레젠터를 다른 곳에서 재사용 할 수 없게 만드는 것이 나쁜 점이라고 생각합니다. –

+0

즉, 활동은 발표자의 기본입니다 (아무 것도 당신이 필터로 말하기를 멈 춥니 다). 또는 질문을 오해 할 수도 있습니다. –

+0

그리고 한가지 확실한 것은 활동이 발표자에게 한 단계의 최상위 단계라는 것입니다. 오늘 알기 위해서. 내가 틀렸다면 나를 고쳐주세요. –