首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GUI系统架构?

GUI系统架构?
EN

Stack Overflow用户
提问于 2010-05-17 09:24:27
回答 2查看 2K关注 0票数 3

我正在为一个游戏引擎(C++)设计图形用户界面( GUI )系统。

其思想是创建GUI控制器的继承性,如可聚焦、可Hoverable、可拖动等,每个GUI组件都可以附加多个控制器,修改组件的行为。

我认为它提供了灵活的系统,并防止代码重复。同一个GUI类的不同实例可能具有不同的复杂行为(可能是,甚至是动态地更改它),因此这种方法看起来很实用。

另一种选择是在基本GUI组件类中添加聚焦、悬停、拖动等标志。它看起来像头顶,没有那么灵活。

另一种解决方案是使用Decorator模式并使用FocusDecorator、HoverDecorator等包装对象。维护这样的系统似乎有点困难。

问题:,我的解决方案中有哪些缺陷?也许你在GUI系统中看到了一种更好的方法?实施这种灵活的复杂系统的最佳方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-17 10:27:22

老实说,您的解决方案非常好,我认为这正是Decorator设计模式的意义所在,但是在C++中,您有更好的实现技术。您可以很容易地使用基于策略的设计来创建GUI组件模板类,并添加组件行为特征类作为其参数,然后从参数继承。

票数 0
EN

Stack Overflow用户

发布于 2010-05-17 09:32:17

为什么不用“策略”模式来解决组件行为的变化问题呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2847872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档