У меня есть вопрос относительно шаблона посредника, который я хочу реализовать в своем приложении (используя C #). При реализации шаблона в моем коде я столкнулся с круговой зависимостью. Структура занятий следующая:
Mediator
и Colleague
компоненты / классы находятся в разных сборках, и в качестве шаблона-посредника оба компонента (классы) должны использовать друг друга. Проблема возникает при ссылках друг на друга.
Рассмотрим код ниже:
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 и коллега находятся в разных пространствах имен и сборок, как разрешить круговую зависимость?