У меня есть вопрос относительно шаблона посредника, который я хочу реализовать в моем приложении (с использованием 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}
}
}
в качестве медиатора и коллега находятся в различных пространствах именных пространствах и сборках, как разрешить циркулярную зависимость?