【发布时间】:2009-01-12 22:43:54
【问题描述】:
我有一组与 GUI 对象具有一对一关系的非 GUI 对象。 所有事件都通过顶级窗口路由。
GUI 对象上发生的许多(不是全部)事件会导致调用关联对象上的方法。
NonGui 对象中的一些方法在调用时会更改 GUI 对象。
一个例子是某种游戏,例如带有现代 GUI 的 Rogue。 你有一个玩家在一个回合中占据的区域(称之为区域) 并且您在 GUI 上有与之关联的对象(一个按钮)。 请记住,这只是一个类比(甚至不是真正的问题),没有一个类比是完美的。
问题是,如何设计这种东西?
由于按钮类来自第三方库,我无法在其中嵌入对 nonGUI 对象的引用,尽管我可以在 nonGUI 对象中嵌入对 GUI 对象的引用。所以看起来我必须在某个地方创建一个从按钮到“区域”的地图,但我应该把它放在哪里?在顶层窗口中?在顶级模型中? IU 会衍生出某种接口类吗?
建议?
【问题讨论】:
-
您在引号“连接”中查找的术语称为数据绑定。
标签: model-view-controller user-interface data-binding