我考虑在应用程序中使用注册表模式来存储一些窗口和面板的弱指针。 应用程序的一般结构如下图所示。
应用程序有一个MainFrame顶级窗口和几个子面板。 可以有许多基于TabPane类型的选项卡。 我需要从所有的TabPane选项卡引用ParamsPane面板,因此需要将指向ParamsPane对象的指针存储在某个地方。 有很多选项,但最明显的是(1)将指针存储在应用程序单例对象中或(2)创建一个简单的注册表类。 类似于:
这是一种好的实践吗?这种方法的好处和注意事项是什么?
应用程序有一个MainFrame顶级窗口和几个子面板。 可以有许多基于TabPane类型的选项卡。 我需要从所有的TabPane选项卡引用ParamsPane面板,因此需要将指向ParamsPane对象的指针存储在某个地方。 有很多选项,但最明显的是(1)将指针存储在应用程序单例对象中或(2)创建一个简单的注册表类。 类似于:
class Registry {
public:
static MainApp* application;
static MainWindow* mainWindow;
};
这是一种好的实践吗?这种方法的好处和注意事项是什么?