4

这可能有点模糊,但我正在开发一个程序,其中有几个更新 UI 的类。我创建了一个“中间人”类,它基本上接受所有 UI 请求(除其他外)并将它们路由到 UI 本身,这样 UI 类只与中间人交互。

问题是 UI 类在其界面中有大约 20 个不同的函数,而我的中间人类所做的基本上就是从较低级别的类中调用,然后在 UI 中调用一个基本相同的函数,这让我想知道是否这在某种程度上违背了整个目的。我相信这是一个经常出现的问题。有没有更优雅的方法来做到这一点?

谢谢,

下午

4

2 回答 2

2

不必在后端引用 UI 内容真是太好了。我想这就是你想要这样做的原因。

如果是这种情况,您可以做的是实现一些发布/订阅模式(例如观察者模式)。这样,您就不必专门参考 UI。您可以从后端“发布”,并从您的 UI 订阅这些事件。

或者,您可以从界面继承您的 UI,并指定您需要的方法。然后,仅参考后端中的接口。

于 2010-11-10T02:12:07.040 回答
2

不幸的是,您并没有真正说明您正在使用什么来构建您的 UI。但是使用 WPF(或 Silverlight)和数据绑定后,整个问题很快就会消失。简而言之,UI 中的项目绑定到支持类中的属性和命令。当属性发生更改时,会引发 PropertyChanged 事件,并且 UI 知道要自行更新。有关更多信息,请开始搜索 MVVM。

归根结底,这实际上是观察者模式的一种形式,但您不必自己完成所有布线。

于 2010-11-10T03:04:54.317 回答