2014-09-23 107 views
1

我正在WPF中實現使用模型 - 視圖 - 演示者(MVP)模式的圖/流程圖類型設計器。我經常使用這種模式(以及其他一些如Passive View和MVVM)作爲高級架構,無法解決富UI(這裏是SO巨魔)所涉及的一些複雜問題。模型 - 視圖 - 演示者模式中的演示者是否應處理視圖上的多個「UI」元素?

在我的特定情況下,我有類似以下樣機的UI:

enter image description here

我已經使用演示對象爲需要設計者表示邏輯每個元素的選擇。到目前爲止,這給我留下了以下設計師。

DesignerPresenter ControlPresenter ControlOverlayPresenter ConnectionPresenter ConnectionPointPresenter OverlayPresenter

我已經實現了每一種原因是因爲他們每個人都需要處理表示邏輯和順序分別傳達其行動業務/域層避免臃腫(IMO)。

唯一的其他方式,我會看到這樣做是如果有一個主持人來處理所有這一切似乎將失控,很快這表示邏輯。

我的問題(一個或多個)如下:

  1. 是不是經常可以看到爲每個UI元素的屏幕,例如我爲了允許表示邏輯分離是做演示者?
  2. 創建的一些演示者是邏輯上的小孩演示者(ControlPresenter是DesignerPresenter的小孩演示者)這是正常的嗎?
  3. 這是否與另一種更有意義的模式保持一致?

回答

1

我從來沒有使用過MVP,但我對MVVM模式非常滿意,如果我用ViewModel替換Presenter這個詞,設計就符合我真正想做的事情。

它是完全正常的是,DesignerPresenter具有ControlPresenter的一個ObservableCollection並且該ControlPresenter包含ConnectionPresenter的一個ObservableCollection。 ConnectionPresenter也可能有兩個ConnectionPointPresenter。

整體設計看起來不錯,但可能還有其他類似的架構也適合。恕我直言,也許有太多的分離。有意義分離連接和連接點?

相關問題