2012-04-05 4 views
2

.net 프레임 워크 4.0에서 asp.net 응용 프로그램으로 빌드 중이며 Entity Framework (Entity Framework)에 Linq를 사용하여 내 DataModel (DAL)로 디자인 패턴을 작성합니다. Entity Framework가 DAL 계층이 될 3 계층 계층입니다.asp.net webforms 응용 프로그램을 사용하는 Entity Framework 모범 사례

제 질문은 제 선택, 삽입, 업데이트 및 삭제 기능을 호출하는 프리젠 테이션 레이어 (내 페이지)에서 처리하도록 내 테이블에 BLL 레이어가 있어야합니다. Entity Framework를 직접 내 프레젠테이션 계층에 포함 시키시겠습니까?

답변

2

응용 프로그램에 따라 다릅니다. 레이어가 정의되어 있지 않기 때문에 레이어가 필요하기 때문에 레이어가 정의됩니다.

응용 프로그램이 큰 비즈니스 규칙이 자주 변경되는 경우 BLL 계층을 빌드하십시오. 그렇지 않으면, IMHO, 그것은 단지 overengineering입니다. 결정할 때 응용 프로그램의 규모와 변경 비율이 주요 관심사 여야합니다.

EF를 직접 호출하면 비즈니스 규칙이 프리젠 테이션 계층 내에있게됩니다. 변경 될 수있는 경우 프레젠테이션 계층을 리팩터링하는 것이 엉망이 될뿐만 아니라 재사용 가능성도 낮아집니다.

하지만 다시 응용 프로그램의 규모, 프로젝트 일정, 비즈니스 규칙 변경 비율 및 기타 요소에 따라 다릅니다.

+0

내 응용 프로그램은 뉴스 포털이며 addarticle()과 같은 메서드를 반복하지 않아도됩니다. 예를 들어 2 ~ 3 번 기사의 BLL 레이어를 수행하고 해당 속성을 채울 수있는 Addarticle() 메서드를 호출합니다. 나머지 작업을 수행 할 것입니다. –

+0

프레젠테이션에 addarticle 메서드를 정의하고 다시 사용할 수 있습니다. 비즈니스 계층을 구현하는 것이 아닙니다. – daryal

+0

당신은 완전히 옳지 만 나중에 테이블에 새로운 필드를 추가한다면 예를 들어이 방법을 3 번 수정해야한다는 뜻은 아니겠습니까? –