【发布时间】:2011-05-09 11:51:37
【问题描述】:
我有通过在存储库中查找 ID 来相互引用的 POCO 对象。我不希望对象之间具有强引用,因为存储库具有可能驱逐对象的缓存策略。引用它们的其他对象应该通过存储库重新加载它们。我使用 AutoFac 作为我的 IoC 容器。
非常简单的例子 - Region 对象引用 Currency 对象:
class Region
{
...
public Currency GetCurrency()
{
... Get the right Currency object
}
...
}
我一直在尝试两种方法来做到这一点。第一个是每次都要求 AutoFac 解析货币存储库,以便我可以调用 Find(id)。
第二个是 WeakReference,我检查 .IsAlive 以查看我是否可以返回 .Target 或者我是否需要解析存储库并调用 Find,并对我得到的内容进行 WeakReference。
我一直在研究 WeakReference 带来的小额开销,但我不确定这与每次都要求 AutoFac 解析相比如何。
想法?
编辑:花费存储库需要的任何时间/精力来回答 .find - 我更感兴趣的是哪个更昂贵,WeakReference 及其开销或 AutoFac 分辨率。
【问题讨论】:
标签: .net domain-driven-design repository autofac