我的应用程序中有一个服务层,其中包含AccountService
,UserService
和DocumentService
等服务。
我使用StructureMap进行依赖注入,因此我的服务的构造函数可能如下所示:
public AccountService(IAccountRepository repo)
{
this.accountRepository = repo;
}
现在,如果我需要访问UserServic
e,那么有什么形式可以提供以下内容吗?
public AccountService(IAccountRepository repo, IUserService user)
{
this.accountRepository = repo;
this.userService = user;
}
答案 0 :(得分:0)
是的,完全没问题。您可以下载代码并观看准备好的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。