簡體   English   中英

Model-View-Presenter模式中的Presenter是否應該在視圖上處理多個“ UI”元素?

[英]Should a Presenter in the Model-View-Presenter pattern handle multiple 'UI' elements on a View?

我正在使用WPF中的Model-View-Presenter(MVP)模式實現圖/流程圖類型設計器。

我經常將這種模式(以及其他一些模式,例如Passive View和MVVM)視為高級架構,無法解決富UI所涉及的某些復雜性(SO巨魔在這里)。

在我的特定實例中,我有一個類似於以下模型的UI:

在此處輸入圖片說明

我已經選擇對每個元素都使用Presenter對象,這需要設計器上的演示邏輯。 到目前為止,這已使我離開了以下設計師。

DesignerPresenter ControlPresenter ControlOverlayPresenter ConnectionPresenter ConnectionPointPresenter OverlayPresenter

之所以實現這些功能,是因為它們每個都需要處理表示邏輯並將其動作分別傳達給業務/域層,以避免膨脹(IMO)。

我看到的唯一的另一種方式是,如果有一個演示者來處理所有這些演示邏輯,那似乎很快就會失去控制。

我的問題如下:

  1. 像我正在做的那樣,為了允許分離演示邏輯,在屏幕上看到為每個UI元素提供演示者是否很常見?
  2. 從邏輯上講,創建的一些演示者是子演示者(ControlPresenter是DesignerPresenter的子演示者)這正常嗎?
  3. 這是否與另一個更有意義的模式保持一致?

我從沒使用過MVP,但是我對MVVM模式非常滿意,如果我將Viewer替換為Presenter一詞,那么設計就可以滿足我的實際需求。

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

總體設計似乎還可以,但可能還有其他類似的體系結構也適用。 恕我直言,也許有太多的分離。 分離連接和連接點是否有意義?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM