我們在這裏使用了MVP設計模式,並且我們使用了每個UserControl風格的演示者。如何在使用WinForms和MVP時添加控件?
This answer表明兩種不同風格的主持人建設:
- 每個演示實例,它有任何兒童節目主持人。
- 控制器類實例化所有演示者並處理它們之間的通信。
不幸的是,沒有提到視圖的連接方式和位置。在另一個項目中,我使用工廠模式創建演示者並使用dependency injection傳遞他們的意見。視圖是在視圖工廠中創建的,該視圖工廠使用適當的用戶控件實例化視圖,然後用Controls.Add
將其添加到表單中。
從我從第一個鏈接收集的內容中,Visual Studio設計器用於添加UserControls - 這很好,但似乎演示者會不必要地耦合到視圖層。
那麼我應該如何添加我的子視圖並連接View-Presenter對呢?
這是(或多或少)我使用的確切方法,雖然有一個屬性。不幸的是,對於我們來說,我們編寫的環境*需要一個WinForms項目作爲啓動表單的啓動項目,因此至少有一個表單必須啓動該過程。當試圖分離類時,它會變得更加棘手。 – 2012-03-27 12:22:15
你可以給出一個演示者如何創建視圖的示例代碼。我始終認爲View必須創建Presenter,因爲該頁面是第一個訪問點。謝謝。 – happygilmore 2013-03-15 14:58:56