在我的项目中有一个文档管理系统。有一个基Document
类和一些派生类。还有一个DocumentManager
类管理文档的打开/关闭/激活操作。
及其派生类可能希望在Document
加载、关闭等时执行某些操作,但状态更改由管理器类控制,因此目前在类调用的类上有(虚拟)方法,如OnLoaded()
, 。除了将这些方法公开似乎没有必要之外,它工作正常。OnClosed()
Document
DocumentManager
另一种设计是让DocumentManager
类触发事件并且每个Document
实例都订阅这些事件。恕我直言,这并没有太大的区别,但会带来内存泄漏的风险。
我有一种直觉,这些都不是“解决方案”,并且有适合该问题的最佳实践。有人可以启发我吗?