0

私が知っているように、基本的に2つのオプションがあります。

1 つ目は、プレゼンターがサブスクライブする必要があるビュー公開通知イベントです。ユーザーがビューのボタンをクリックすると、ビューは何らかのイベントをトリガーし、何かが変更されたことを通知します。

2 つ目は、オブザーバー パターンを使用して、プレゼンターにコントラクトを干渉させることです。上記で説明したイベントのようなメソッドとのインターフェースにしましょう。プレゼンター/オブザーバーをビューにアタッチする必要があります。

Jeremy Miller が伝説的な"Build your own CAB series" ブログ投稿で述べたように、彼にとっては 2 番目のオプションを使用することをお勧めします。

このトピックについてどう思いますか。プロジェクトでプレゼンターとビューをどのように結び付けますか? すべてのオプションの長所と短所は何ですか?

ここでいくつかの投票を行いましょう。役に立つと思います。前もって感謝します!


ピーター・リッチーの答えに答えるために。

私の問題は、私の経験不足と、誰かの意見に頼って決定を下し、自分にとって正しいと思われる方法を選択する必要があることです.

インターフェイスの欠点は、特定の結合があることです。ビューはインターフェースに結合されており、何かがそのインターフェースを実装する必要があります

しかし一方で、イベントは何らかのコントラクト (インターフェースのようなもの) のような役割を果たしているのではないでしょうか? そのイベントに反応する必要があるため、プレゼンターをビューに結び付けました。

4

1 に答える 1

2

オブザーバーは少し退屈かもしれません。イベントまたは複数のイベントを生成する複数のコントロールがある場合は、一度に1つずつ接続する必要があります。一方、インターフェイスを使用する場合、すべてが1つの場所にあり、インターフェイスの特定のメンバーを実装するのを忘れると、タイプセーフとコンパイルエラーが発生します。インターフェイスの欠点は、特定の結合があることです。ビューはインターフェースに結合されており、何かがそのインターフェースを実装する必要があります。インターフェイス分離を使用して、インターフェイス結合を1つの特定のクラスに制限できます。しかし、それはある程度の複雑さを追加します。

これに対する正しい答えはありません。あなたの決定を助けるためにあなたが提供できるいくつかの基準はありますか?

于 2012-05-12T05:11:37.723 に答える