Model 如何正确地通知逻辑层模型层中的修改?
几天来,我一直在研究如何正确实现基于GUI的应用程序。当前阻碍我的部分是如何通知逻辑层模型层中发生的修改 尽管我可能会使用Qt/C++实现它,但我更希望了解什么是一个好的实现 当谈到使用模型层时,我设想可以使用DAO从数据库检索几个业务数据对象。问题是,如果两个不同的视图(它们各自的逻辑层)检索相同的数据库实例,它们仍然不会共享相同的业务数据对象实例,这意味着当一个视图更新模型时,我不能使用数据对象本身通知另一个视图 我一直在考虑的解决方案是:Model 如何正确地通知逻辑层模型层中的修改?,model,dao,Model,Dao,几天来,我一直在研究如何正确实现基于GUI的应用程序。当前阻碍我的部分是如何通知逻辑层模型层中发生的修改 尽管我可能会使用Qt/C++实现它,但我更希望了解什么是一个好的实现 当谈到使用模型层时,我设想可以使用DAO从数据库检索几个业务数据对象。问题是,如果两个不同的视图(它们各自的逻辑层)检索相同的数据库实例,它们仍然不会共享相同的业务数据对象实例,这意味着当一个视图更新模型时,我不能使用数据对象本身通知另一个视图 我一直在考虑的解决方案是: 赋予角色以通知对负责在数据库中存储和检索数据对象
- 赋予角色以通知对负责在数据库中存储和检索数据对象的类的修改
- 通过保留数据库实例池,使用基于id的参数化单例模式,这将使不同的视图真正共享相同的业务数据对象,从而能够相互通知
- 前两种解决方案的混合,让对象负责通知对其属性的修改,让用于检索和存储对象的类负责通知数据库中对象的创建和最终抑制