我正在WPF中使用Model-View-Presenter(MVP)模式实现Diagram / Flow-Chart类型设计器。
我经常将这种模式(以及其他一些如Passive View和MVVM)作为高级体系结构,无法解决丰富UI中涉及的一些复杂性(这里是SO巨魔)。
在我的特定实例中,我有一个类似于以下模型的UI:
我已经选择为每个元素使用Presenter对象,这需要设计器上的表示逻辑。到目前为止,这给我留下了以下设计师。
DesignerPresenter ControlPresenter ControlOverlayPresenter ConnectionPresenter ConnectionPointPresenter OverlayPresenter
我实现这些原因的原因是因为每个人都需要处理表示逻辑并将其操作分别传递给业务/域层,以避免膨胀(IMO)。
我会看到这样做的唯一另一种方式是,如果有一个演示者处理所有这种表示逻辑,看起来它会很快失控。
我的问题如下:
答案 0 :(得分:1)
我从未使用MVP,但我对MVVM模式非常满意,如果我用ViewModel替换Presenter这个词,那么这个设计就符合我的想法。
DesignerPresenter具有ControlPresenter的ObservableCollection并且ControlPresenter包含ConnectionPresenter的ObservableCollection是完全正常的。 ConnectionPresenter也可能有两个ConnectionPointPresenter。
整体设计看起来还不错,但可能还有其他类似的架构。恕我直言可能有太多的分离。分离连接和连接点是否有意义?