1

多くのビューがあり、メディエーター パターンを使用したいプロジェクトがあります。それは良い考えですか?また、何かアイデアはありますか?

Thx you :) 私の英語ですみません。

4

2 に答える 2

1

多くのビューを使用している場合は、メディエーターを使用することをお勧めします。これを行う主な理由は、クラスが相互に頻繁に参照する場合/相互のメソッドを呼び出す場合/データを共有する場合です。メディエーターは、クラスが相互依存しすぎるのを防ぎ、どの形式のどの情報が渡されるかを定義する簡単な方法を提供します。基本的に、メディエーターは常に必要な情報を必要な形式で返すことを知っており、あるクラスの変更が別のクラスに影響を与えることについてそれほど心配する必要はありません。

メディエーターは一種の苦痛だと思います。常にコミュニケーションをとる必要のあるクラスがたくさんあり、このプログラムをしばらく維持して編集/拡張などを計画している場合にのみ、実際にそれを行う必要があります。一度に1つか2つのビューを表示するだけで、ビューが相互に通信したり、他のビューと通信する頻度が非常に低い場合は、やり過ぎかもしれません。

于 2012-07-17T18:43:49.000 に答える
1

私の意見では、実装時に次の点に留意するとよいでしょう。

  1. メディエーター クラスは、View Controller のプロトコルで動作する必要があります。各View Controllerは、そのプロトコルを確認する必要があります。
  2. ビュー コントローラーは、共通のデータ ソースを共有する必要があります。
  3. ビューの更新は、データ ソース/データ ソース コントローラーに渡す必要があります。たとえば、選択されたアイテム。
  4. データソースの更新は、アクティブ/選択されたView Controllerのみに渡される必要があります。
  5. ビュー コントローラーが他のビュー コントローラーに変更された場合、新しいビューをレンダリングする前に、データ ソースのみが新しいデータ セットを提供するように求められる必要があります。

メディエーター クラスがそのようなことを処理する場合、これはそのようなことを実装するための最良の方法である可能性があります。また、このパターンを使用すると、優れた拡張性を実現できます。

幸運を。

于 2012-07-17T18:57:22.573 に答える