私は伝統的に次のようにModel-View-Presenter[パッシブビュー]を実装してきました。
interface IView
{
string Title {set;}
}
class frmTextBox : Form, IView
{
...
public string Title
{
set { this.txtTitle.Text = value; }
}
...
}
class frmLabel : Form, IView
{
...
public string Title
{
set { this.lblTitle.Text = value; }
}
...
}
class Presenter
{
private IView view;
...
public void UpdateTitle
{
this.view.Title = "A Good Title";
}
...
}
また、ビューでのみプリミティブ型を使用する必要があることを常に理解していたため、従来はインターフェイス(、、)でプリミティブ型のみを使用していましIView
たint
。リポジトリ(など)で、のアイテムのリストを表示する場合は、モデルからプレゼンターにジェネリックコレクション()を渡す必要があります。これは、プリミティブ型のみで構成されているというビューの背後にあるルールに違反しますか、それともアーキテクチャ的には問題ありませんか?string
bool
NHibernate
DataGridView
IList<T>
私がデータ転送オブジェクト(DTO)を持っていたとしても、それは私が実装しようとしているパッシブビュースタイルというよりはむしろ監視コントローラーになります。
考え?