gpt4 book ai didi

c# - Model-View-Presenter模式中的Presenter是否应该在 View 上处理多个 'UI'元素?

转载 作者:行者123 更新时间:2023-12-03 10:36:30 24 4
gpt4 key购买 nike

我正在WPF中使用Model-View-Presenter(MVP)模式实现图/流程图类型设计器。

我经常将这种模式(以及其他一些模式,例如Passive View和MVVM)视为高级架构,无法解决富UI所涉及的某些复杂性(SO巨魔在这里)。

在我的特定实例中,我有一个类似于以下模型的UI:

我已经选择对每个元素都使用Presenter对象,这需要设计器上的演示逻辑。到目前为止,这已经让我离开了以下设计师。

设计师讲师
ControlPresenter
ControlOverlayPresenter
连接演示器
ConnectionPointPresenter
叠加展示器

之所以实现这些功能,是因为它们每个都需要处理表示逻辑并将其 Action 分别传达给业务/域层,以避免膨胀(IMO)。

我看到的唯一另一种方式是,如果有一个演示者来处理所有这些演示逻辑,那看起来它很快就会失去控制。

我的问题如下:

  • 是否经常在屏幕上看到为我的每个UI元素提供的演示者(例如我正在做的),以便允许分离演示逻辑?
  • 在逻辑上创建的某些演示者是子演示者(ControlPresenter是DesignerPresenter的子演示者)这正常吗?
  • 这是否与另一个更有意义的模式保持一致?
  • 最佳答案

    我从未使用过MVP,但是我对MVVM模式非常满意,如果我将Viewer替换为Presenter一词,那么设计将完全符合我的实际意愿。

    DesignerPresenter具有ControlPresenter的ObservableCollection且ControlPresenter包含ConnectionPresenter的ObservableCollection是完全正常的。 ConnectionPresenter可能也将具有两个ConnectionPointPresenter。

    总体设计似乎还可以,但是可能还有其他类似的体系结构也适用。恕我直言,也许有太多的分离。分离连接和连接点是否有意义?

    关于c# - Model-View-Presenter模式中的Presenter是否应该在 View 上处理多个 'UI'元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25985749/

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