2010-11-28 4 views
3

내 프로젝트의 폴더 구조에 대해 혼동 스러우며 컨트롤러에서 그룹화하는 경우가 거의 없습니다. 프로젝트는 전자 상거래입니다. 내가전자 상거래 프로젝트의 ASP.NET MVC 폴더 구조

홈과 같은 페이지가, 소개, 연락처, 카테고리 메뉴와 하위 범주 목록 페이지, 제품 목록, ProductDetail, shoppingCart가, CartSummary, 체크 아웃

사용자 관리 프로필 편집, 주문, 정보 관리를 로그인합니다.

관리 제품 관리 등 카테고리 관리, 주문 관리 (삽입, 업데이트, 설명 등을 추가, 이미지 업로드, 삭제)

나는 영역을 만들할까요? 깨끗한 폴더 구조를 만드는 법.

답변

4

나의 제안 :

  • HomeController :
    • 홈 (색인 작업)
    • 소개
    • 연락
  • CategoryController :
    • 분류 (index 액션 - SUBC ategory 카테고리 행동의 매개 변수)
  • 이 ProductController로 : 가
    • 목록 (공유 할 수있는 제품 목록 - HTML 카테고리 액션을 가지는 UserControl을),
    • 상세
  • CartController로 :
    • 은 shoppingCart (색인 작업)
    • 체크 아웃
    • 지불
    • ...
  • UserController :
    • 지수 (가능한 옵션을 보여 편집 및 주문)
    • 을 편집
    • 주문
  • 관리자 (A 만들기 사이트를 관리하기 위해 여러 컨트롤러가 필요하기 때문에 별도의 영역이 필요합니다.)
    • UsersController
    • OrdersController가
    • ProductsController가
    • SettingsController
    • MailingsController
    • ...
1

영역은 앞으로 나아갈 길이입니다. 당신이 언급 한 각각의 큰 특징에 대한 폴더를 만들어보십시오. 등 컨트롤러, 뷰, CSS, 자바 스크립트 등

전체 웹 사이트의 예를 들어 마스터 페이지에 걸쳐 공통 재료를 포함하는 것이 하나 개의 별도의 공유 폴더를 확인 jQuery를 파일

1

포함 한 지역 내에서 이와 관련된 모든 것을 통합 나는 ZippyV의 솔루션 레이아웃이 솔루션의 좋은 출발점임을 제안합니다. IoC 및 단위 테스트 등을 어떻게 사용 하느냐에 따라 단위 테스트를 돕기 위해 컨트롤러 (잠재적으로 모델)를 별도의 프로젝트로 분할하는 방법을 사용합니다.

공용 사이트에 필요한 모든 개체/데이터 구조를 정의 할 때까지 admin 섹션을 남겨 두어야합니다. 그렇지 않으면 모델 개체를 변경하고 여러 위치에서 업데이트해야합니다. 잠재적으로 이득이 없습니다 (다시 바뀔 수 있습니다 :-)).