1

我有几个关于洋葱架构和 MVC 的问题。

1)领域服务和应用服务有什么区别?
2) Service/Repository/UnitOfWork 模式如何适应这种架构?
3) 你认为这种架构对于 MVC 应用程序来说是一个好的计划吗?

对此的任何想法将不胜感激。

4

2 回答 2

3
  1. DomainService 是您在域内使用的服务。ApplicationService 是您在域中向其他层公开的服务。

  2. 什么服务?存储库通常定义为域模型中的接口。您的域模型仅适用于接口。具体存储库是通过依赖注入加载的,位于基础架构或持久层中。

例如

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。

于 2012-08-23T12:37:13.613 回答
0

它们之间的主要区别在于域服务拥有域逻辑,而应用程序服务则没有

工作单元提供了将更改保存到存储(无论此存储是什么)的能力。IUnitOfWork 接口有一个保存方法,通常称为 Complete,每个具体存储库都作为属性。

是的!它提供了更好的可维护性,因为所有代码都依赖于层或中心。它提供了更好的可测试性,因为可以为单独的层创建单元测试,而不会影响应用程序的其他模块

于 2021-10-26T10:19:40.250 回答