2011-02-15 3 views
1

MVC 3을 사용하여 응용 프로그램을 만들려고합니다. 처음부터 응용 프로그램이 다양한 기능 영역을 포함하는 여러 섹션과 상당히 복잡 할 것입니다.MVC 3 Soulution organization

이 기능을보기가 포함 된 클래스 라이브러리로 분리하는 것은 클래스 라이브러리의 빌드 폴더를 MVC 응용 프로그램 내의 영역 폴더로 설정하고 Wayne Haffenden 's의 Razor 뷰 엔진을 복사하는 것입니다. blog post 이것은 전혀 작동하지 않습니다.

MVC2가 아닌 MVC2를 사용하여 작업 할 수있는 MEF를 사용해 보았습니다. 누구나이 모든 작업을 수행 할 수있는 방법에 대한 제안이나 모든 준비가 완료된 몇 가지 예가 있습니다.

감사합니다.

+2

조립품을 물리적으로 분리해야합니까? 그렇지 않은 경우 폴더를 사용하십시오. 조직 목적으로 만 새 어셈블리를 만들지 마십시오. 보시다시피 그들은 매우 복잡한 비용이 따르며 그 이유가 없다고 생각됩니다. – jfar

답변

0

MvcContrib's portable areas을 시도해 볼 수 있습니다. 그러나 일반적으로 저는 MVC 프로젝트를 다른 어셈블리 (보기 포함)로 분리하는 것이 쉽지 않다고 jfar가 동의합니다.

0

지역을 광범위하게 사용하는 상당히 큰 MVC 3 응용 프로그램 (3 개 사이트)이 있습니다. 내 컨트롤러는 저장소 (다른 프로젝트에서 참조)에서 모든 데이터를 가져오고 속성, 필터, 확장명, HtmlHelpers 등과 같은 공통 코드가 포함 된 MyProject.Web.Shared라는 다른 프로젝트가 있습니다.

비록 조금 있지만 내 견해에서의 코드 중복 나는 모든 사이트 (및 견해)를 개별 실체로 취급하기 때문에 DRY 원리와 확장 성 사이의 균형이 잘 맞다고 느낍니다. 영역을 사용하여 별도의 기능을 분리하면 정말 잘 작동합니다.