gpt4 book ai didi

language-agnostic - Model View Controller

转载 作者:行者123 更新时间:2023-12-01 23:20:02 26 4
gpt4 key购买 nike

我的 GUI 中有一个树控件(自然有很多 GUI/平台特定功能来处理节点)。
我有一个数据模型,它有自己的一组复杂的节点、子节点、属性等。
我希望树显示模型的表示,能够将消息发送到模型内的节点,并被告知在模型更改时重新绘制自身。

但我不希望 GUI 代码需要了解模型数据类型的详细信息,并且我不想通过将模型链接到 GUI 类来污染模型。

我无法理解 Controller 应该如何执行此操作以及它应该提供哪些功能?

(这是在 C++ 中,但这不重要)

最佳答案

GUI“控件”不太适合模型- View - Controller 模式,因为它们通常有自己的内部模型而不是接受对模型的引用。如果控件以这种方式构建,您将需要一个适配器类,将控件的内部模型“数据绑定(bind)”到基础数据模型。

这可以完成与模型- View - Controller 类似的事情,除了适配器类同时扮演 View 连接组件(从数据模型更新 GUI)和 Controller (将 GUI 事件解释为模型操作)的角色).

关于language-agnostic - Model View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/475218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com