[英]Architecture of MVC application without using entity framework
我是MVC應用程序開發的新手。我願意使用MVC開發一個新項目,對於適合MVC應用程序的體系結構,我看了很多。 閱讀了許多文章和博客后,我開始知道可以使用存儲庫模式。
根據我在開始實際項目之前的理解,我創建了一個如下所述的虛擬項目結構[不使用EDMX文件,項目中的實體框架,定義的自定義DAL]
我的虛擬應用程序的名稱為Repository。我以國家,州和城市的關系為例來開發虛擬應用程序:
Repository_DAL_V1 類庫該庫具有以下類:
SQLHelper.cs:此類具有為諸如ExecutenonQuery等查詢執行的方法。
Repository_DTO_V1 類庫該庫具有以下類:
CountryDTO.cs:此類從CountryModel.cs繼承為[CountryDTO:CountryModel]。它將用於在應用程序的所有層之間移動數據。如果有任何應用於業務的屬性,則將創建此屬性在DTO中未在模型中。
CountryDTOMapper.cs:用於將來自數據庫的數據以DataTable的形式映射到DTO對象的集合中。
Repository_Implementation Web mvc項目這是UI層。
Repository_IRepositories_V1 類庫該庫具有以下類:
ICountryRepository.cs:這是一個接口,具有已聲明的功能,例如SaveCountry()等。
Repository_Models 類庫該庫具有以下類:
CountryModel.cs:此類完全具有數據庫中表的所有列的屬性。
Repository_Repositories_V1 類庫該庫具有以下類:
CountryRepository.cs:這是一個存儲庫類,具有已定義的功能,例如SaveCountry()等。
Repository_ViewModel_V1 類庫該庫具有以下類:
CountryViewModel.cs:這將為屏幕上的“國家/地區視圖”構建。
以上項目參考資料:
Repository_DTO_V1具有Repository_Models的引用。
Repository_IRepositories_V1具有Repository_DTO_V1,Repository_Models的引用。
Repository_Repositories_V1引用了Repository_IRepositories_V1,Repository_DAL_V1,Repository_DTO_V1,Repository_Models。
Repository_ViewModel_V1引用了Repository_Repositories_V1,Repository_IRepositories_V1,Repository_DTO_V1,Repository_Models。
我需要所有人的指導,以指導我朝正確的方向發展。
我不知道為什么不使用EF與您逐層完成的任何其他項目有什么不同。 如果您對多層結構感到滿意,那么您的事物結構就沒有錯。 我不知道您的項目是關於什么的,但是您應該考慮使用更好的命名方式,例如項目名稱(存儲庫),而“實現”則更好地命名為Web。
編輯
我建議您將Entity Framework 5與Code First一起使用,也就是說,是否要使用ORM?
我當然希望您能錯過EF。
正如@ Dejan.S所說,您需要的體系結構取決於項目的大小。
我將從簡單開始,也許有3個項目:
如果您需要分離事物(例如DAL),則以后仍然可以這樣做。
另外,請查看ServiceStack的MVC Power Pack 。 您可以立即獲得出色的微型ORM,IoC,緩存,快速序列化程序等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.