【问题标题】:Calling services within services在服务中调用服务
【发布时间】:2011-06-20 16:38:29
【问题描述】:

我的应用程序中有一个服务层,其中包含AccountServiceUserServiceDocumentService 等服务。

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

public AccountService(IAccountRepository repo)
{
    this.accountRepository = repo;
}

现在,如果我需要访问说 UserService,而在其中有以下内容是否很好?

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

【问题讨论】:

    标签: service domain-driven-design facade


    【解决方案1】:

    是的,完全没问题。您可以下载代码并观看准备好的episodes Rob Conery。

    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。

    【讨论】:

      猜你喜欢
      • 2018-02-20
      • 1970-01-01
      • 2014-08-23
      • 1970-01-01
      • 1970-01-01
      • 2013-10-31
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多