关于Onion Architecture和MVC,我有几个问题。
1)域名服务和应用服务有什么区别?
2)Service / Repository / UnitOfWork模式如何适应这种架构?
3)您认为这种架构对于MVC应用程序是一个很好的计划吗?
对此的任何想法都将不胜感激。
答案 0 :(得分:2)
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。