【发布时间】:2020-04-22 08:21:20
【问题描述】:
我有一个与 Mediator Design Pattern 相关的问题,它属于 GoF 的 行为 类别。我正在尝试使用设计模式原则编写一个 C# 项目。 假设这是一个同事类:
abstract class Colleague
{
Mediator mediator;
// ...
}
还有一个中介类:
class Mediator
{
List<Colleague> colleagueList;
// ...
}
- 我们可以有很多同事:c1、c2、c3、...
- 还有一个调解员:调解员
调解员充当允许同事之间交流的中心点。 假设在我们的代码中,某个同事死了。 Mediator 对象也会死吗?
【问题讨论】:
-
一个对象只有在没有更多引用时才会被 GC'ed。你说有多个同事和一个调解员。如果这意味着所有同事都引用了同一个调解器实例,那么调解器只会在最后一位同事“死亡”后被 GC(没有更多引用)。
-
@RufusL 旁注:在谈论 GC 处理的对象时,我不会使用“disposed”一词,因为“disposed”在 .NET 世界中通常具有特殊含义(
.Dispose()调用对象。 .. 与 GC 没有直接关系) -
@AlexeiLevenkov 谢谢,已编辑
标签: c# class oop design-patterns mediator