2010-04-05 5 views
0

3 층 디자인입니다. (UI/BLL/DAL)여기에 발표자의 책임은 무엇입니까?

UI 내보기에서 = ASP.NET MVC

나는 범주에 대한 제품의 컬렉션이 있습니다. 예 : 제품 1, 제품 2 등

보기에서 제품을 선택하거나 제거 할 수있는 사용자는 최종적으로 사용자가 변경 사항을 제출할 때 컬렉션으로 저장합니다.

이 3 계층 설계로이 제품 컬렉션을 저장하는 방법은 무엇입니까? 범주 객체에 대한 제품 필터링 (제거 및 추가)은 어떻게됩니까?

내 선택은 다음과 같습니다.

(A)는 그것은 컨트롤러의 책임은 다음 의사 코드

  1. 는 사용자가 선택하거나 제거 제품을 찾아 기존의 기록과 비교 될 것입니다.
  2. 해당 컬렉션을 범주 개체에 추가하거나 삭제합니다.
  3. SaveCategory (카테고리)를 호출합니다. // BLL CALL

여기서 첫 번째 2 개의 프로세스 단계가 컨트롤러에서 발생합니다.

(B) 그런 다음 의사 코드는 지금까지 사용자가

  • SaveCategory (카테고리, 제품을) 선택한 항목

    1. 수집 제품이 될 것 BLL의 책임입니다; // BLL CALL

    제거하고 데이터베이스에 추가해야하는 제품을 결정하는 것은 SaveCategory (BLL)에 달려 있습니다.

    감사

  • 답변

    1

    논리는 비즈니스 계층에 거주해야하지 컨트롤러. 컨트롤러는 가능한 한 얇고 모델과 비즈니스 요구 사항을 다루는 다른 레이어와보기 간의 통신을 조율해야합니다.

    +0

    그래서 사용자 컬렉션을 BLL로 전송하려면 DTO를 사용해야합니다. 권리? 나는 DTO를 피하고 컨트롤러에서 바로 엔티티를 사용하려고한다. 기본적으로 사용자는 발표자에게 아무 것도 추가하거나 제거 할 수 있지만 BLL에서는 유효성이 검사됩니다. – Aval

    관련 문제