2013-06-18 4 views
0

처음부터 mvc 응용 프로그램을 구축하고 있습니다. 현재 나는 도메인 엔티티에서 모델을보기 위해 매핑을 어디에 넣어야하는지 의심 스럽다. 나는 (도메인 당, 주문 때문에 1, 고객 등 1) Asp.net 뷰 모델 빌드 위치

  • 저장소 층 다음 프로젝트 레이아웃

    • MVC 응용 프로그램
    • BL 레이어가 있습니다. 주로 테이블 당.

    예를 들어, 이제 그리드를 작성해야합니다. 컨트롤러는 인덱스 페이지에서 예를 들어 화면에 그리드를 가져 오기 위해 호출됩니다. 그런 다음 인덱스 페이지는 결국 데이터베이스에서 데이터에 액세스하기 위해 리포지토리를 호출하는 BL 계층을 호출합니다. 이제 내 질문은, 도메인 엔티티를 뷰 모델에 어디에 매핑해야합니까? 컨트롤러 또는 BL 레이어에서이 작업을 수행 할 수 있습니다. 프로와 콘은 무엇입니까?

  • 답변

    0

    맵퍼 논리는 컨트롤러가 아닌 별도의 클래스에 BL로 유지해야합니다. 그게 주로 때문에 매핑의 할 컨트롤러의 responsibilty. 이 매핑 책임을 처리하는 또 다른 클래스가 있어야합니다. 그게 SRP 원칙이 말하는 것입니다.

    더 나은 당신은 어떤 객체 지향 디자인 SOLID OOD 원칙에 좀있다.

    +0

    다음과 같이 컨트롤러를 호출하는 것을 의미합니까? List cityGridModel = CityMapper.Map (cityService.GetCities()); 또는 List Patrick

    +0

    두 번째가 더 좋습니다. 즉, List