类设计如果两个类需要交换信息

本文关键字:两个 信息 交换 如果 | 更新日期: 2023-09-27 18:17:10

如果我有两个类

class A
{
}

class B
{
}

class A想要使用class B的方法,反之亦然。

除了中介模式之外,最好的设计应该是什么?

类设计如果两个类需要交换信息

至少应该将类与接口解耦。这样,两个类之间预期的契约将通过接口显式捕获。

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;
}

除此之外,这在很大程度上取决于您所计划的交互的性质。