Круговая зависимость в схеме медиатора с использованием C #

У меня есть вопрос относительно шаблона посредника, который я хочу реализовать в моем приложении (с использованием C #). При внедрении шаблона в моем коде я наткнулся на круговую зависимость. Структура классов следующим образом:

посредника и Collegeuage Комплектующие / классы находятся в разных собраниях, и поскольку шаблон посредника требует как компонентов (классов) для использования друг друга. Проблема возникает при ссылке друг друга.

Рассмотрим код ниже:

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}       

    }
}

в качестве медиатора и коллега находятся в различных пространствах именных пространствах и сборках, как разрешить циркулярную зависимость?

6
задан Dave Schweisguth 13 February 2016 в 13:05
поделиться