跨平台 GUI 工具包开发详解
1. 工厂模式与按钮创建
在跨平台 GUI 开发中,工厂模式起到了关键作用。通过工厂对象创建特定平台的实现对象,保证了代码的可移植性和可维护性。以下是相关代码示例:
virtual RadioButtonImpl *MakeRadioButton();
virtual CheckBoxImpl *MakeCheckBox();
virtual AppImpl *MakeApp();
AppImpl *GetAppImpl() {return m_appImpl;};
private:
CocoaFactory();
AppImpl *m_appImpl;
};
Button::Button()
{
WidgetFactory *factory = GetWidgetFactory();
if (factory)
m_button = factory->MakeButton();
}
ButtonImpl *CocoaFactory::MakeButton()
{
return new CocoaButtonImpl;
}
在 Button 的构造函数中,通过调用 GetWidgetFactory() 获取平台特定的单例工厂对象,然后调用 MakeButton() 方法创建平台特定的 ButtonImpl 对象。例如在 Mac OS X 系统中, GetWidgetFactory()
超级会员免费看
订阅专栏 解锁全文
1664

被折叠的 条评论
为什么被折叠?



