ASP.NET 프로젝트의 구조에 대한 기본 골격을 잡기 편하게 하기 위한
단어를 선정함에 있어서 고민을 하던차에,
MIRACLE이란 단어로 기본 골격을 만들게 되었습니다.
일명, MIRACLE 패턴...
특정 모듈(기능)을 만들 때 아래와 같은 폴더 구조를 가지고 시작합니다.
현재 사이트인 닷넷코리아의 주요 모듈들은 다 위 패턴대로 만들어져 있고,
앞으로 진행되는 모든 강의/개발도 이와 동일한 패턴대로 폴더 정책을 진행할 예정입니다.
// MIRACLE 패턴: 프로젝트 루트에서 MIRACLE 폴더 생성 예
├─Modules
│ └─Community
│ └─Documents
│ Community.sql
│ Global.asax
│ Web.config
├─bin
│ Dapper.dll
│ MemoEngine.dll
├─Models
│ CommunityModel.cs
├─Interfaces
│ ICommunityRepository.cs
└─Repositories
│ CommunityRepository.cs
├─Admin
│ └─Community
│ CommunityList.aspx
│ CommunityView.aspx
│ CommunityWrite.aspx
├─Controls
│ └─Community
│ CommunityListUserControl.ascx
│ CommunityViewUserControl.ascx
│ CommunityWriteUserControl.ascx
├─Libraries
│ CommunityLibrary.cs
└─Entities
CommunityEntity.cs
// MIRACLE 패턴: Modules 폴더에 몰아넣기 예
~/Modules/Popup/Models/Popup.cs
~/Modules/Popup/Interfaces/IPopupRepository.cs
~/Modules/Popup/Repositories/PopupRepository.cs
~/Modules/Popup/Admin/Popup/PopupManager.aspx
~/Modules/Popup/Controls/Popup/PopupShow.ascx => 메인 페이지에 포함시킬 용도...
~/Modules/Popup/Libraries/Popup/PopupUtility.cs
~/Modules/Popup/Entities/Popup/PopupMessage.cs => Popup.cs의 축소판 엔티티
Model -> Interface -> Repository -> Admin -> Control -> Library -> Entity 순으로
클래스/페이지/컨트롤 등을 작성해 나가는 방식인데,
웬만한 웹 응용 프로그램 모듈 작성시 다 응용이 됩니다.