我正在WPF中使用Model-View-Presenter(MVP)模式实现图/流程图类型设计器。
我经常将这种模式(以及其他一些模式,例如Passive View和MVVM)视为高级架构,无法解决富UI所涉及的某些复杂性(SO巨魔在这里)。
在我的特定实例中,我有一个类似于以下模型的UI:
我已经选择对每个元素都使用Presenter对象,这需要设计器上的演示逻辑。到目前为止,这已经让我离开了以下设计师。
设计师讲师
ControlPresenter
ControlOverlayPresenter
连接演示器
ConnectionPointPresenter
叠加展示器
之所以实现这些功能,是因为它们每个都需要处理表示逻辑并将其 Action 分别传达给业务/域层,以避免膨胀(IMO)。
我看到的唯一另一种方式是,如果有一个演示者来处理所有这些演示逻辑,那看起来它很快就会失去控制。
我的问题如下:
最佳答案
我从未使用过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/