2009-07-14 5 views
4

ASP.NET MVC 사이트에서 컨트롤러를 분할하는 방법은 무엇입니까? 예를 들어, 기본 프로젝트에는 HomeController와 AccountController가 있습니다. 사이트의 각 섹션에 대해 컨트롤러가 하나 있어야합니까?ASP.NET MVC 컨트롤러 분할

MVC 프레임 워크를 사용하는 방법을 배우고 있으며 어떤 도움을 주시면 감사하겠습니다.

답변

1

사이트의 크기에 따라 달라집니다. 컨트롤러에 대한 논리적 이름을 갖는 것이 가장 중요한 부분이므로 소스를 쉽게 탐색 할 수 있도록하는 것이 매우 중요합니다.

일반적으로 잘 모르겠다면, 특히 CRUD 책을 지원하는 데이터 모델을 다루는 경우 CRUD 책에서 잎을 꺼내는 것이 좋습니다. 특정 모듈 (제품 말하기)의 경우 생성, 읽기, 업데이트 및 삭제 (보기 용 색인은 물론)에 대한 책임이있는 컨트롤러가 필요합니다.

아마도 사이트가 스택 오버플로와 같은 CRUDDY 인 경우 컨트롤러를 논리 영역 (예 : "PostController", "SearchController"등)으로 분할하면 더 많은 사용이 가능하지만 실제로 수행 할 수 있습니다 귀하의 사이트와 아키텍처에 따라 다릅니다.

미안하지만 더 도움이되지 않습니다. 대부분의 경우 어쨌든 배우는 것이 가장 좋습니다. 당신이 새로운 생각이라면, 당신이 보아온 제안과 예제를 바탕으로 생각하는 접근 방식을 취하십시오. 좋은 점은 .NET과 ASP.NET MVC는 나중에 리팩토링하는 것이 쉽다는 점입니다.

0

일반적인 방법은 뷰를 분할하는 것과 같은 방식으로 컨트롤러를 분할하는 것입니다. 예 :

/조회/홈이 색인 등록하고 당신은 HomeController이있을 것이다 다음 뷰에 문의

/뷰/제품은 당신이 줄을 다음 ProductController

간단한을 표시하고 목록보기가 있습니다 방법은 Views 폴더의 각 폴더에 대해 하나의 컨트롤러입니다.

0

새 컨트롤러를 만들 때와 같은 특정 규칙은 없습니다. 새 컨트롤러를 만들면 웹 사이트의 다른 섹션을 제어 할 수 있습니다.

기본적으로 컨트롤러가 많기 때문에 논리적으로 웹 사이트를 여러 섹션으로 나눌 수 있습니다.