2012-12-31 4 views
3

보통 데이터 세트를 DAL로 만들고 원래 프로젝트에 BLL을 작성합니다.실제 생활에서 비즈니스 로직 레이어의 우수 사례 구현 방법 asp.net

Entity Framework를 배운 후에 비즈니스 로직 계층은 일반적으로 분리 된 프로젝트 (클래스 라이브러리)에서 생성된다는 것을 알고 있습니다.

그러나 ASP.NET 사이트에는 해당 자습서가 없습니다.

왜냐하면 특히 참조 할 때 BLL을 만들 때 나는 혼란 스럽습니다.

  1. BLL 클래스를 완료하려면이 참조를 직접 추가해야합니까?
  2. enter image description here

다음 문을 사용하여 엔티티에 액세스 :

enter image description here

그러나, BLL 다시 BLL 프로젝트에 참조해야 할 수도 있습니다 액세스 주요 프로젝트의 프리젠 테이션 계층. 필자는 샘플 중 일부가 전체 BLL 프로젝트의 DLL 파일을 기본 프로젝트에 넣는 것을 보았습니다.

BLL 및 기본 프로젝트를 참조하거나 위와 같이 참조하는 올바른 방법은 무엇입니까?

내가 공부할 수있는 좋은 자습서가 있습니까?

답변

5

일반적으로 데이터 액세스 프로젝트, 데이터 액세스 프로젝트에 대한 참조가있는 비즈니스 프로젝트 및 데이터 액세스 및 비즈니스 프로젝트에 대한 참조가 포함 된 웹 프로젝트를 설정합니다. 엔티티 프레임 워크를 사용하면 생성 된 모든 클래스가 데이터 액세스 계층에 있습니다. 필자는 일반적으로 모든 리포지토리가 비즈니스 계층 (데이터 액세스 계층에도있을 수 있음)에있는 리포지토리 패턴을 사용하고 프레젠테이션 계층의 개체 인 호출자에게 엔티티 프레임 워크 엔터티를 반환합니다 (MVC 컨트롤러 , 또는 MVP 발표자, 또는 asp.net 웹 양식의 코드 숨김)을 사용하고 있는지 확인하십시오.

HTH

+2

엔티티 (모델)를 새 프로젝트로 분리 (푸시 아웃)하는 것이 훨씬 더 좋습니다. 그런 식으로 웹 레이어는 데이터 액세스 레이어를 직접 참조하지 않고 비즈니스 레이어와 모델 (엔터티) 만 참조합니다. 물론 비즈니스 계층에서 데이터 액세스 (리포지토리) 만 사용하고 웹 계층에서 직접 사용하지 않는 경우에도 마찬가지입니다. – e36M3

+1

나는 그 일을하는 것이 유익하다는 것에 동의하지만, 또한 복잡성이 추가됩니다. 그것이 실제로 유익한지를 결정하는 것은 프로젝트의 규모와 필요에 달려 있습니다. 컨텍스트에서 리포지토리를 통해 웹 레이어로 엔티티를 푸시하고 모두 첨부하도록하는 것은 매우 빠르고 쉽습니다. –