6

하나의 특정 답변을 찾는 것보다는 많은 질문을 던집니다.asp.net MVC 솔루션/프로젝트 레이아웃

우리 모두가 알고 있듯이 모든 솔루션에 적합한 답변은 없지만 당신이 설계 한 asp.net MVC 솔루션과 함정을 디자인하는 방법에 대해 궁금합니다. 네가 다시 시작할 수 있다면 다르게.

표준 asp.net MVC 템플릿은 기본 템플릿 일 뿐이며 Scott Hanselman이 모델 폴더가있는 유일한 이유는 사람들이 어디에서 물어 보지 않았는지 읽거나 들었습니다. 모델. 이것은 이미 자신의 별도의 클래스로 옮겨야한다는 것을 의미합니다.

개인적으로 작은 MVC 응용 프로그램에서 'MVC'프로젝트에 컨트롤러와 뷰가있는 동안 모델과 저장소가있는 유일한 클래스로 모델을 분리했습니다. 이것은 일반적으로 아무런 문제없이 운동을하지만, 나는 이것들이 단지 작은 애플 리케이션이라고 말했다.

그래서 대부분의 사람들은 무엇을하고 있습니까? - 표준 템플릿 만 사용 하시겠습니까? - 모델 만 분리 하시겠습니까? - 모델과 컨트롤러를 분리 하시겠습니까? - 모든 데이터 액세스가 웹 서비스 또는 일종의 데이터 포털을 통해 이루어 지도록 이동을 분리합니까? - 아니면 완전히 다른 것입니까?

마지막으로 사람들은 단위 테스트를 어떻게 작성합니까? 각 프로젝트를 테스트하는 단 하나의 단위 테스트 클래스 또는 각 프로젝트의 단위 테스트 클래스?

답변

4

개인적으로 나는 지미 보거드의 접근 방식을 사용합니다 : Organizing ASP.NET MVC solutions.

+0

재미있는 접근 방식으로, 훨씬 더 큰 규모의 MVC 프로젝트 두 개를 수행하면 기본 레이아웃이 실제로 어수선하게 보입니다. –

0

대부분의 경우 표준 템플릿을 사용하여 간단히 재사용 할 수있을 정도로 깔끔했습니다. 나는 정말로 자신의 특정한 조직 선호에 대해서만 말할 것입니다.

내 모델이 실제로 커지면 별도의 클래스 라이브러리 프로젝트를 만드는 것이 좋습니다.

+0

너무 큰 경우 왜 분리합니까? 왜 그것을 시작 형태로 분리하지 않습니까? 배우려고 애쓰는 중입니다. – Sam

+0

@Sam - 개인적 취향이라고 말합니다. 작은 모델이 전체 클래스 라이브러리에 적합하다는 느낌이 들지 않습니다 (일부 사람들은 동의하지 않지만). * 모델 * 폴더가 충분히 분리되어 있다고 느낍니다. 그러나 모델이 다소 복잡해지고 있다고 느낀다면 DLL로 정리하는 것이 좋습니다. 내 모델의 혼란을 내 웹 사이트 구조에서 멀리 유지합니다. – James