我重構了一個WinForms(.NET 4)應用程序,該應用程序使用TabControl來包含UserControl - UserControl在每個TabPage中實例化,最終結果爲每個選項卡中的編輯。它們正在編輯一組項目,這些項目最終將作爲一個整體輸入到正在編輯的對象中。謙虛視圖/ MVP與WinForms和用戶控件集合
作爲示例類結構:
class School
string Name
string Address
- 的
Course
s,各與幾個相應的字段(Department
,Name
等)收集
(這實際上不是一個學校相關的應用程序,但隱喻的作品。)
在視覺上,集用戶控件的管理Course
ES,而父窗體處理School
信息。
現在,我有一個Form/School的演示者,並且是UserControl/Course的演示者,併爲每個人提供了一個視圖。然而,學校的演示者需要控制課程的一些信息。例如,爲一個課程選擇的選項會限制其他選項。 School
模型正在處理該計算,但需要到課程的演示者。
我在MVP討論中沒有找到這種類型關係的例子,這是我第一次採用MVP方法。處理這個問題有什麼好的選擇?學校的主持人有沒有收集課程的主持人來代表這組作品?學校的觀點是否應該收藏這些課程的觀點? (最終的用戶控件必須以某種方式和某處連接到表單上,對嗎?)
我的主要目標是(不出所料)增加可測試性和可維護性,到目前爲止,這個過程中的主要來源是Michael Feathers的「The謙遜的對話框「和傑里米米勒的」建立你自己的CAB「系列。
我對這個令人難以置信的慢反應表示歉意。這個問題解決得很好,而且是可以測試的。謝謝! – 2012-02-20 20:55:02