我有一个关于要在我的应用程序中实现的调解器模式的问题(使用C#)。在我的代码中实现模式时,我遇到了循环依赖。类的结构如下:
MediatorColleague组件/类位于不同的程序集中,并且由于调解器模式要求两个组件(类)彼此使用。相互引用时会出现问题。

考虑下面的代码:

namespace Mediator
{
   public abstract class IMediator
   {
      public IColleague colleague{get;set;}
      void Register();
      void Send();
   }
   public class MediatorA:IMediator
   {
     void Register(){//code here}
     void Send(){//code here}
   }
 }
namespace Colleague
{

    public abstract class IColleague
    {
        IMediator mediator;
        void Send();
        void Recieve();

    }
    public class ColleagueA:IColleague
    {

        void Send(){//code here}
        void Recieve(){//code here}

    }
}

由于Mediater和同事位于不同的 namespace 和程序集中,如何解决循环依赖关系?

最佳答案

您需要定义将包含接口(interface)的第三个程序集。恕我直言,别无选择。

关于c# - 使用C#的中介模式中的循环依赖,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7350671/

10-17 00:52