所以我正在開發一個非常酷的(也是非常大的)n層應用程序。圖層之間的名稱衝突
基本上我有以下組件:
域
Domain.Contracts
服務
Services.Contracts
Presentation.Admin
Presentation.Web
Presentation.Core(共享在Admin & Web)
我可以實現Presentation.Core.Contracts
我正在摔角的主要問題是不同層之間的名稱衝突。也就是說。
Services.Contracts.AccountServicesRequest
Domain.Contracts.AccountServicesRequest
我曾與服務名稱(在這種情況下,我只是用類作爲服務而不是WCF等)相同的問題。即:
Services.Contracts.IAccountService
Domain.Contracts.IAccountService
我現在領域層IxxxServiceHandler這給了我這一切使得 「服務處理程序」 解決了這個:
Services.Contracts 。帳戶服務
Domain.Contracts.IAccountServiceHandler
但是,我還沒有能夠解決這個問題與層之間來回傳遞的對象。 這似乎是通過我的解決方案(s)撒在一堆地方。 我只是好奇,看看是否有人有同樣的問題。如果是這樣,你是如何解決它們的?
哈哈!是的,這確實有幫助,但也許你可以給我一個例子。 假設(爲簡單起見)我有3層: (1)域\ Domain.Contracts (2)服務\ Services.Contracts (3)演示 如果我在域和IUSER用戶對象和/或UserDto你會在其他圖層中命名這些對象是什麼? – devlife 2009-12-10 21:49:18
好吧,我需要確切地知道*你爲什麼命名以確定它的最佳名稱。 :-)諸如「合同」,「用戶」等事情聽起來很像問題領域的概念,我建議將其放在單一的業務邏輯層中。你不想在其他地方複製這些類。你可以有諸如Business.Contract和Business.User等類。 (TBC) – CesarGon 2009-12-10 22:50:54
在表示層上,可以有例如Presentation.ContractDialog或Presentation.UserWindow。 「合同對話框」是一個顯示合同的對話框;您不會擁有Presentation.Contract,因爲合同本身僅在業務邏輯層中建模*。這有意義嗎? – CesarGon 2009-12-10 22:51:26