2011-07-14 56 views
0

我有兩個用C#編寫的獨立winforms應用程序,我用MVP。 現在我正在將這些結合到一個應用程序(也是MVP)中,這兩個應用程序都具有兩種功能,但都具有新的View前端。從多個MVP應用程序組成一個MVP應用程序

什麼是最好的做法:

  • 做一個超級主持人,結合個人 應用的演示爲一體,或
  • 做一個超級模型,結合兩個 模型(!)合併成一個模型,然後寫一個超級演講者。

兩者的優缺點是什麼? 我是否在正確的軌道上?

回答

0

除非有重複,您試圖刪除您的模型shuold可以隨時組合。

imo,模型不應該經常更改以重新構建應用程序。他們應該只在業務發生變化時纔會改變。

這給我們留下了一個選擇。

+0

實際上,這給我們兩種選擇。 – kasperhj

1

您應該單獨放置模型,並專注於使用組合功能創建新的演示者和視圖。從你的問題中的信息來看,項目的重點不在於模型缺乏某些元素,而是他們需要一起工作。主講人的功能是使這一切順利進行。

您將運行的最可能的問題是關於進入模型的演示者的任何假設。當一個模型被開發爲使用一個演講者(具有相關視圖)時,可能很難保持分離。通過創建一個新的演示者,您將很快看到是否存在這些假設,這有助於維護未來版本的原始軟件和新軟件。

除了這個問題,這應該是相對直截了當的項目,因爲它發揮了MVP的優勢。開發人員在不影響其他人的情況下更改一個或多個級別的能力。

+0

我已經開始將兩個模型組合成一個模型。這是你的答案之前。現在我認爲將它們結合到Presenter中可能會更明智,因爲現在的演示者並不僅僅是向View提供功能。也許我應該把我所有的東西從模型中移動到Presenter中? – kasperhj

+0

如果這些項目取決於視圖/演示者的知識,那麼是的,您需要將它們移到演示者中。 –

+0

我不知道我明白。他們不依賴於觀點?正如我現在所做的那樣,我有一個主持人介導複合模型和視圖。 – kasperhj

相關問題