[英].NET Desktop Application (Service) 3-tier application
我剛剛開始設計一個供應用程序或服務使用的.NET庫(但這與三層體系結構無關嗎?),我正在努力尋找適當的關注點並在同時以適當的方式將DAL與BL鏈接起來。
我一直在尋找教程等,但是它們都指向ASP.NET和Entity Framework,但是我想使用ADO.NET(DataSet,DataTables)來構建用於桌面應用程序/ Windows服務使用的庫。
任何人都可以通過提供示例/示例性樣例或教程/指南來為我指明正確的方向嗎?
@編輯
我在想這樣的事情:
DbManager-抽象類XDbManager-X是從DBManager派生的提供程序,SQL等,是單例類(我更喜歡靜態的,但是它們不能實現接口或從類派生)DbConnection-DbManager方法返回的對象,包含用於查詢的方法
BaseDbo-數據庫對象XDbo的抽象類-X是DBO的名稱,使用DbManager => DbConnection進行查詢(保存,檢索,檢索集,存儲集?這是我有點困惑的地方,我需要一些持久性數據集來保存,更新,從表中檢索數據-應該將它們實現為從數據集派生的數據庫對象嗎?)
BaseBo-業務對象的抽象類XBo-處理和處理數據等的業務對象類。
在上面說,我找不到“鏈接”這兩層的正確方法。
我還需要在這里使用SOAP Web服務,是否應該在業務層上實現? 還是應該引入一個新的子層?
如果您的應用程序設計正確,則使用EF或ADO.Net沒什么大不了的:這就是DAL抽象的重點。 也就是說,您仍然可以使用以下方法:
public IEnumerable<User> GetAllUsers()
{
....
}
這將返回您的所有用戶。 它的實現方式(即實體框架或ADO.Net)並不重要。 唯一的區別是您的DAL將無法返回IQueryable<T>
(即,延遲執行將不起作用,否則您將需要在ADO.Net之上使用另一個抽象層)。
與ASP.Net與桌面應用程序相同:這也應該相差不大。 您應該使用WCF服務而不是ASP.Net MVC控制器。 您可以從WCF生成的客戶端代理中調用方法,而不是直接從控制器中調用BL。
您可以閱讀的有關3層應用程序的所有內容也都適用於您的用例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.