模型生活管理

时间:2014-07-29 16:30:31

标签: c# wpf mvvm object-lifetime lifetime

我有Model和类 - Factory,可以创建,加载和保存此模型。 我想完全释放对此Model保存和处置的所有引用,但我不知道如何告诉所有保留对Model的引用的类发布它。 我只看到两个解决方案:

  1. Factory WeakReference返回Model并仅在Factory中保留强引用,但我不保证在释放最后一个强引用后会立即销毁Model。< / LI>
  2. Model或拥有Model的类发送一些通知以发布参考。

1 个答案:

答案 0 :(得分:1)

如果技术上没有使用内存的生命周期,你可以在模型中有一个标志,一旦它被销毁就会设置。模型的所有操作都将检查此标志并在设置时抛出异常,因此之后无法使用。

有些类在他们的Disposable实现中执行此操作,在处理后调用方法时会出现AlreadyDisposedException。