簡體   English   中英

在MVP設計模式中,一個視圖可以有多個演示者嗎?

[英]In MVP design pattern, can a view have more than one presenter?

我研究了MVP的例子。 我找到的所有例子都沒有復雜的表格。 在現實生活中,表格可能變得非常復雜(特別是如果您工作的客戶不理解“單一責任原則”)。

記住這一點,下面的例子是否符合MVP原則?

表單代碼 - 表單實現兩個接口,每個接口一個。

    public partial class ExampleForm : Form, ILookupView, IExampleView
    {
        //Constructor
        public ExampleForm()
        {
           InitializeComponent();

            var presenterEquipment = new EquipmentPresenter(this);
            presenterEquipment.PopulateEquipmentLookup();

            var presenterMain = new ManageComponentsPresenter(this);
            presenterMain.SetInitialValues();
        }
    }

如果不是處理大型復雜表格的最佳方式是什么?

非常感謝。

我會將視圖拆分為較小的視圖,實現為用戶控件並組成小視圖的大視圖。

但是,從技術上講,我沒有看到任何原因導致您的方法不起作用。 您可以讓大視圖實現多個接口,並將多個演示者分配給不同的“子視圖”。

我的理念是讓設計模式與您的應用程序的需求相匹配。 我對MVP,MVC的理解也在不斷增長。 回答你的問題雖然MVP模型之間的關系是。

One View有一個Presenter可以與零個或多個模型進行對話。 如果您需要為一個視圖使用多個Presenter,則可能出現這種情況,這些視圖很可能被分離為較大視圖導入的較小子視圖。 或者存在可以分離出一個或多個模型的業務邏輯

暫無
暫無

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

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