パッシブ ビュー デザイン パターンを実装したいとしましょう。リストボックスを含むビューがあります(将来、リストビューなどと交換する可能性があります)。ここで、パッシブ ビューを使用して、ビューを可能な限りダムにする必要があります。選択を変更したいとしましょう。このロジックをプレゼンターに配置するため、ビュー インターフェイスにプロパティを追加して、ビューのリストボックスの SelectedIndex プロパティを取得および設定します。しかし、将来リストボックスをリストビューと交換したい場合、リストビューには SelectedIndex プロパティがないため、困っています。次に、ビューにいくつかのロジックを実装しますか (基本的に、少しばかげないようにします)。
public int SelectedIndex
{
get
{
if (myListView.SelectedIndices.Count > 0)
{
return myListView.SelectedIndices[0];
}
return -1;
}
}
または、ビューとプレゼンターの間に何らかのアダプターを配置しますか。最も論理的なアプローチは何でしょうか?