Service 在服务中调用服务

Service 在服务中调用服务,service,domain-driven-design,facade,Service,Domain Driven Design,Facade,我的应用程序中有一个服务层,其中包含AccountService、UserService和DocumentService等服务 我使用StructureMap进行依赖项注入,因此我的服务的构造函数可能如下所示: public AccountService(IAccountRepository repo) { this.accountRepository = repo; } 现在,如果我需要访问说,用户服务,而在有它的好形式有以下 public AccountService(IAccou

我的应用程序中有一个服务层,其中包含AccountService、UserService和DocumentService等服务

我使用StructureMap进行依赖项注入,因此我的服务的构造函数可能如下所示:

public AccountService(IAccountRepository repo)
{
    this.accountRepository = repo;
}
现在,如果我需要访问说,用户服务,而在有它的好形式有以下

public AccountService(IAccountRepository repo, IUserService user)
{
    this.accountRepository = repo;
    this.userService = user;
}

是的,非常好。您可以下载代码并观看Rob Conry的准备工作

public class CatalogService : Commerce.Services.ICatalogService 
{
    ICatalogRepository _repository = null;
    IOrderService _orderService = null;

    /// <summary>
    /// Creates a CatalogService based on the passed-in repository.
    /// </summary>
    /// <param name="repository">An ICatalogRepository</param>
    public CatalogService(
        ICatalogRepository repository, IOrderService orderService) 
    {
        _repository = repository;
        _orderService = orderService;

        if (_repository == null)
            throw new InvalidOperationException("Repository cannot be null");
    }
    ...
}
他在CatalogService中注入OrderService