我有Model
和类 - Factory
,可以创建,加载和保存此模型。
我想完全释放对此Model
保存和处置的所有引用,但我不知道如何告诉所有保留对Model
的引用的类发布它。
我只看到两个解决方案:
Factory
WeakReference返回Model
并仅在Factory
中保留强引用,但我不保证在释放最后一个强引用后会立即销毁Model
。< / LI>
Model
或拥有Model
的类发送一些通知以发布参考。答案 0 :(得分:1)
如果技术上没有使用内存的生命周期,你可以在模型中有一个标志,一旦它被销毁就会设置。模型的所有操作都将检查此标志并在设置时抛出异常,因此之后无法使用。
有些类在他们的Disposable实现中执行此操作,在处理后调用方法时会出现AlreadyDisposedException。