MVP 패턴 - IView (ASP.NET, 웹 양식)를 통한 수동 뷰 및 복잡한 유형 노출

StackOverflow https://stackoverflow.com/questions/153222

  •  03-07-2019
  •  | 
  •  

문제

나는 최근 수동 뷰 접근법으로 MVP 패턴으로 전환합니다. 보기 인터페이스가 텍스트 상자에 매핑 된 문자열, 드롭 다운리스트에 유명한 맵핑, 일부 그리드, 리피터에 맵핑 된 맵핑과 같은 기본 CLR 유형 만 노출 할 때 작업하기가 매우 편안하다고 생각합니다.

그러나이 마지막 접근 방식은 그 그리드에서 제가 한 Collumn에 대해서만 관심을 가질 때만 작동합니다. iview 내부의 그리드의 멀티로 컨텐츠를 어떻게 매핑하려면 어떻게해야합니까? 지금은 두 가지 해결책이 내 마음에 들어오고 있습니다.

  1. 그리드 컨텐츠에 대한 DTO를 작성하고 iview에서 ienumerable을 노출 시키거나
  2. iview에있는 것처럼 ienumerable 또는 "그리드"를 노출시킵니다.

첫 번째 솔루션은 컨트롤러 패턴을 감독하는 동안 수동 뷰 규칙을 중단하는 것으로 보이며 두 번째는 전체 MVP 패턴을 전혀 깨뜨립니다. 이것을 어떻게 처리합니까?

감사합니다, 우쿠 카스

도움이 되었습니까?

해결책

MVP는 이와 같은 경우를 제외하고 WebForms 개발을 훨씬 쉽게 만듭니다. 그러나 TDD를 사용하여 iview가 실제로 필요합니다 그 데이터의 그리드는 실제로 문제가 무엇인지 알지 못합니다.

나는 당신이 다음과 같은 일을하려고한다고 가정합니다.

public interface IView
{
 DataTable DataSource {get; set;}
}

public class View : IView {

private GridView _datasource;
public DataSource 
{
  get { return _datasource; }
  set 
  { 
    _datasource = value; 
    _datasource.DataBind(); 
  }
}

MVP 패턴과 함께 사용될 때이 작은 패턴이 매우 도움이된다는 것을 알게되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top