1

アクティビティと場所に関するgwtの例がどのように機能するかを理解しようとしています(https://developers.google.com/web-toolkit/doc/latest/DevGuideMvpActivitiesAndPlaces)。なぜ彼らがプレゼンターのためのインターフェースを定義するのか疑問に思います。ビューインターフェイスは、ビューを簡単に交換するのに役立つことを知っています。しかし、プレゼンターインターフェイスの使用は何ですか?

4

4 に答える 4

0

設計をきれいにするためのMVP アーキテクチャのもう 1 つの重要な要素は、を定義することです ( のインターフェイスのPresenter interface美しさは既にわかっています)。OOP conceptJAVA

Presenterイベントを受信したときにアクセスできるようViewにするインターフェイス。Presenter インターフェースは以下を定義します。callbackpresenter

public interface Presenter<T> {
 void onAddButtonClicked(); 
}

そして、以下のようにプレゼンターをビューに設定できます

private Presenter<T> presenter;
  public void setPresenter(Presenter<T> presenter) {
    this.presenter = presenter;
  }

最後に、PresenterConcreteClassがpresenterインターフェイスを実装すると、それらimplementationsがトリガーされます。

于 2013-03-12T06:21:14.593 に答える
0

インターフェイスを使用することのクリーンさに加えて、ビューをテストしない理由はありません。エンド ツー エンドのテストを使用することもできますが、単純GWTTestCaseにビューをインスタンス化し、モック プレゼンターを使用することもできます。

次に、「このボタンをクリックすると、値 X、Y、および Z を引数としてプレゼンターからこのメソッドを呼び出す必要がある」、または「これらの引数を使用してビューのこのメソッドを呼び出すとき」をテストできます。 、そのようなウィジェットは赤くなり、他のウィジェットは非表示/折りたたみ/表示/何でもする必要があります。

また、これを使用して、簡単なテストベッドアプリを同様に構築し、偽のデータを使用して UI を手動でテストしたこともあります。このアプリは、偽のデータを使用してビューを呼び出すプレゼンターをシミュレートするボタンで構成され、ビューからのプレゼンターのコールバックをWindow.alertまたは類似のもので処理しました。ブラウザーでアプリを起動し、あちこちをクリックして、ビューが期待どおりに機能することを検証します。

これは、後でフォームにフィールドを追加するときに、プレゼンターと正しく関連付けるために役立ちます。単体テストで十分な場合は、実際のプレゼンターから GWT-RPC/RequestFactory/その他のサービスをセットアップしたくありません。

于 2013-03-12T09:51:19.000 に答える
0

具象クラスではなくインターフェイスを使用してアプリケーションを設計することは、常にベスト プラクティスです。

  1. 参考 - 「実装ではなくインターフェースへのプログラム」とはどういう意味ですか?
  2. 参照 - MVP の WikiPedia の例
于 2013-03-12T03:16:37.430 に答える