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