내가 전통적 그래서 같은 모델 - 뷰 - 발표자 [수동보기]를 구현 한 :모델 - 뷰 - 발표자 및 전송 대형 오브젝트
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>
)을 전달해야합니다. 이는 뷰의 기본 원칙을 기본 유형으로 만 구성하거나 아키텍처가 OK가되는 규칙에 위배됩니까?
DTO (데이터 전송 개체)가 있더라도 수동보기 스타일이 아닌 감독자 컨트롤러가 될 것입니다. 구현하려고합니다.
생각들 ??
이 잘 나는 쉽게 DataGridView에 의해 표시되는보기에 발표자로 모델에서 IList의를 통과 할 수 아무것도 기술적으로 할 수없는,하지만 그 구조적 정답 또는 내가 다른 경량의 방법을 사용하는 경우는 확실하지 않다. –