我已经开始了一个新的项目,并且一直在使用对象和工作单元模式逐步构建我的服务层。我遇到了一个问题,正在寻求帮助。
我有一个需要访问UserService的LicenceService,所以构造函数是
public LicenceService(IRepository<Licence> licenceRepo, IUserService userService)但是,现在我的UserService需要访问LicenceService,所以构造函数应该是
public UserService(IRepository<User> userRepo, ILicenceService licenceService)我猜到这一点你可以看到我的循环引用问题。想象一下,这并不是一个罕见的问题,有没有人有任何合适的解决方案。
发布于 2011-09-12 19:17:21
如果有第三个服务来保存对两者的引用并在它们之间进行通信呢?
也就是说,出于特定目的,第三个服务将调用这两个服务,而不是其中一个必须知道另一个。
发布于 2011-09-12 19:18:43
你可以通过工厂或委托来解决这个问题,但这实际上是一个设计问题。看看是否可以将一些代码分解到第三个类中,以消除循环依赖。
https://stackoverflow.com/questions/7386963
复制相似问题