0
|
Michael Brewer-Davis · 技术社区 · 16 年前 |
![]() |
1
1
我建议现在就看一些UI模式 site 至于你的具体问题,我将做以下几点 显示节点的表单将实现INodeView接口
您可以这样添加节点,即控件上有一个包含键的字段。 除了INodeTreeForm接口,您还将拥有一个INodeView接口。这将覆盖视图区域或您将要切换的新表单。 当您单击节点时,它会将键传递给NodeTreeScreen,它会查看节点的类型。它有一个INodeView对象的集合。INodeView的属性之一是它是哪种类型的节点。 您检索到正确的INodeView。关闭当前INodeview,将当前INodeview设置为检索到的INodeview,将其传递给节点,并告诉它显示自己。 你可以选择INodeView会说什么。您可以为每种不同类型注册一个表单/控件。例如,一个INodeViewText、INodeViewImage等,或者只是一个omnibus INodeViewForm,让实现INodeView的对象处理实际的图形。 根据您的GUI工具包,这可能意味着一个表单可以实现许多不同的接口。 至于添加、删除和创建节点,这将通过实现INodeTreeForm的表单和NodeTreeScreen之间的交互来完成。这将要做的事情之一是执行您已经创建的命令来修改模型。 通过实现界面背后的每一件事情,您可以在不破坏软件其余部分的情况下更改实现。实现不同接口的对象可以更改,而不会影响其他对象,只要它们继续正确地实现接口。
|
![]() |
Medet · 即使没有屏幕旋转,也保持ViewModel活动 7 年前 |
|
saradindu samal · 实现MVP设计模式的正确标准是什么 7 年前 |
![]() |
Sermilion · 安卓:MVP。组件间通信的正确方式 8 年前 |
![]() |
tur · CachingActivityMapper有什么意义? 9 年前 |
![]() |
Jacob Phan · MVC模式。模型、视图和控制器之间的关系 10 年前 |
|
Lahey · MVP:被动视图(带EF)和图层 11 年前 |
![]() |
Milambardo · MVP演示者在回发后订阅了活动 12 年前 |