我有三个类实现了它们的接口。
订单
计划--使用驱动程序和计划服务。
我现在遇到的问题是,当订单或司机发生更改时,订单服务和司机服务需要与计划服务进行通信,我该如何做才能避免循环依赖?
编辑: 具体来说,我一直在考虑创建第四个服务来管理所有其他服务,例如这篇文章中所解释的服务。 Breaking Dependency Cycles 关于这种实现方式让我困惑的是我的计划类,我的计划类是否同时实现新类和IPlan接口?
订单
public interface IOrderService
{
//SomeOrderFunction()
}
public class OrderService: IOrderService
{
//SomeOrderFunction();
}
驱动程序
public interface IDriverService
{
//SomeDriverFunction()
}
public class DriverService: IDriverService
{
//SomeDriverFunction();
}
计划--使用驱动程序和计划服务。
public interface IPlanService
{
//SomePlanFunction()
}
public class PlanService: IPlanService
{
private readonly IOrderService _orderService;
private readonly IDriverService _driverService;
public PlanService(IDriverService driverService, IOrderService orderService)
{
_orderService = orderService;
_driverService = driverService;
}
//PlanFunctionsThatUseServices();
}
我现在遇到的问题是,当订单或司机发生更改时,订单服务和司机服务需要与计划服务进行通信,我该如何做才能避免循环依赖?
编辑: 具体来说,我一直在考虑创建第四个服务来管理所有其他服务,例如这篇文章中所解释的服务。 Breaking Dependency Cycles 关于这种实现方式让我困惑的是我的计划类,我的计划类是否同时实现新类和IPlan接口?