두 번째 프로젝트 접근법. Jimmy Bogard는 nice post on the approach도 갖고 있습니다 (모든 설명을 읽어야합니다).
저는 개인적으로 관련 서비스, 컨트롤러, 리포지토리 등을 사용하는 응용 프로그램의 일부에서 작업 할 때마다 이러한 파일을 다른 폴더에 넣을 때 지루한 결과가 발생할 수 있음을 직접 확인했습니다. 앞으로 찾아서.
AppName.Web.UI
Scripts
Content
View
AppName.UI.Core
Attributes
Filters
Formatters
Helpers
Models
Company
Interfaces
IController.cs
IRepository.cs
IService.cs
ViewModels
ViewModel1.cs
ViewModel2.cs
Controller.cs
Repository.cs
Service.cs
User
....
Plugins (mailchimp, Twitter OAuth, etc..)
Global.asax (define all the code here rather than in the UI project)
테스트 프로젝트
: 약간의 장난 후 나는이 형식을 다음 봤는데
...
당신이 더 세분화하고 Interface 및 ViewModel 하위 폴더를 사용하는지 여부는 프로젝트가 얼마나 큰지에 달려 있다고 생각합니다. 그게 완벽하지는 않지만, 내가 생각하는 방식으로 더 잘 맞았다는 것을 알게되었습니다.
서비스 및 저장소를 세 번째 프로젝트 (AppName.Core)에 넣고 AppName.Web.Core 프로젝트가 웹 관련 부분 (특성, 컨트롤러, ViewModels 등) 만 캡슐화하는 경우도 있습니다. . 다시 이것은 프로젝트의 복잡성과 관련이 있습니다.
아마도 멍청한 질문입니다. 저는 오랫동안 ASP.NET MVC를 사용해 왔지만'.cshtml'을 만나 본 적이 없습니다! 그게 뭐야? :) –
@Maxim; 그건 면도기 야. – Pradeep
예, MVC3의 새로운 기본 뷰 엔진 인 면도기가 더 깔끔하고 코드를 더 읽기 쉽게 만들어줍니다. Scott Gu의 블로그를 확인하십시오. http://weblogs.asp.net/scottgu/archive/2010/07/02 /introducing-razor.aspx – Nestor