Servicios de llamadas dentro de los servicios
-
28-10-2019 - |
Pregunta
Tengo una capa de servicio en mi aplicación que contiene servicios como AccountService
, UserService
y DocumentService
.
Utilizo StructureMap para mi inyección de dependencia para que el constructor de mi servicio pueda verse así:
public AccountService(IAccountRepository repo)
{
this.accountRepository = repo;
}
Ahora si necesito acceso para decir el UserServic
¿Mientras esté allí, es una buena forma tener lo siguiente?
public AccountService(IAccountRepository repo, IUserService user)
{
this.accountRepository = repo;
this.userService = user;
}
Solución
Sí, está perfectamente bien. Puede descargar el código y ver el episodios Rob Conery preparado.
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");
}
...
}
Inyecta el servicio OrderService en el servicio de catálogos.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow