1
我有幾個關於Onion Architecture和MVC的問題。洋蔥建築問題?
1)域服務和應用程序服務有什麼區別?
2)Service/Repository/UnitOfWork模式如何適應這種架構?
3)你認爲這個架構是一個MVC應用程序的好計劃嗎?
對此的任何想法將不勝感激。
我有幾個關於Onion Architecture和MVC的問題。洋蔥建築問題?
1)域服務和應用程序服務有什麼區別?
2)Service/Repository/UnitOfWork模式如何適應這種架構?
3)你認爲這個架構是一個MVC應用程序的好計劃嗎?
對此的任何想法將不勝感激。
DomainService是您在域中使用的服務。 ApplicationService是您在域中向其他圖層公開的服務。
什麼服務?存儲庫通常在您的域模型中定義爲接口。您的域模型僅與界面一起工作。具體的存儲庫通過依賴注入加載並位於基礎結構或持久層中。
例如
public class RegistrationService : IRegistrationService
{
private IUserRepository mUserRepository;
public RegistrationService(IUserRepository userRepository)
{
mUserRepository = userRepository;
}
public void Register(string name, string password)
{
var user = new User(name, password);
mUserRepository.Add(user);
}
}
(希望語法正確)
在這個例子中RegistrationService是的DomainService。 另一方面,WCF服務是一個ApplicationService。
我確定會有一個關於差異的答案,但是這裏有一個關於#3的說明:隨着時間的推移,對於我來說,「典型」的MVC應用似乎比「領域 - 業務 - 邏輯」 。最後一次它成爲具有「用戶」服務認證的項目,「內容」服務獲取數據並保存原始存儲庫。 – mikalai 2012-08-07 17:22:06