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

时间:2011-12-09 04:40:54

标签: c# design-patterns c#-4.0

如果我有两个班级

class A
{
}

class B
{
}

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

除了调解员模式之外,最佳设计应该是什么?

1 个答案:

答案 0 :(得分:2)

至少应该使用接口将类分离。这样,您可以通过接口明确捕获两个类之间的预期合同。

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

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