Дизайн класса, если два класса должны обмениваться информацией - PullRequest
0 голосов
/ 09 декабря 2011

Если у меня есть два класса:

class A
{
}

и

class B
{
}

class A хочет использовать методы class B и наоборот.

Каким должен быть лучший дизайн, кроме шаблона посредника?

1 Ответ

2 голосов
/ 09 декабря 2011

Как минимум, вы должны отделить ваши классы от интерфейсов. Таким образом, ваш предполагаемый контракт между двумя классами будет явно зафиксирован через интерфейсы.

interface IA {
    // Methods for use in class B...
}

class A : IA {
    private readonly IB b;
}

interface IB {
    // Methods for use in class A...
}

class B : IB {
    private readonly IA a;
}

Кроме этого, это во многом зависит от характера взаимодействия, которое вы планируете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...