サービス内のサービスを呼び出します
-
28-10-2019 - |
質問
アプリケーションには、ようなサービスを含むサービスレイヤーがあります 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;
}
解決
はい、それは完全に大丈夫です。コードをダウンロードして見ることができます エピソード 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に注文サービスを注入します。
所属していません StackOverflow