我正在使用.NET 3.5構建Windows窗體應用程序。我想使用MVC設計模式。該應用程序有兩種形式:快速啓動和顯示細節的視圖。快速啓動只是有2層一棵樹,讓樹結構看起來像Windows Form MVC
- 1類
- 子目錄1-1
- 子目錄1-2
- 類別2
- 子類別2-1 等
當用戶點擊類別或子類別時,詳細信息視圖顯示屬於該類別或子類別的所有項目。一個項目可以只屬於一個類別或子類別(我的應用程序中的項目實際上是文檔,如訂單,發票等)。類別的項目和子類別的項目具有幾乎相同的屬性,但仍然有點差異。
我有一個處理的快速啓動提出的click事件的控制器類。控制器確定用戶是否點擊類別和子類別,然後獲取屬於該類別或子類別的所有項目。然後它將所有項目發送到詳細信息視圖以顯示它們。
我的問題是它更好地使用一個一般化的細節視圖或者爲每個類別和子類別的看法?如果我要使用一個廣義視圖,則需要根據項目是屬於某個類別還是子類別來顯示/隱藏一些字段,如果類別的項目結構和子類別的項目結構變得更加不同,可能會使其難以維護未來。
如果我要爲每個類別和子類別的視圖,控制器需要加入的類別視圖和當用戶點擊一個類別節點上取出的子類別圖。這是我的錯誤,因爲當用戶點擊一個節點時,控制器需要從主窗體添加/刪除視圖,這對我來說看起來不是一個好設計。
因此,這兩者都不是好設計。這個問題的正確解決方案是什麼?
編輯: 哪一部分是太含糊。基本上,用戶可以看到兩種類型的項目:CategoryItem和SubCategoryItem。 SubCategoryItem是CategoryItem的子類。在MVC模式中,我需要2個視圖(調用CategoryView和SubCategoryView),並且控制器確定要呈現給用戶的視圖?或者只是一個視圖,所以控制器總是呈現這個視圖,並且它是視圖的工作,以確定是否顯示CategoryView或SubCategoryItem?
我的手指在觸發器上標記此問題-1,因爲描述過於模糊。 – djangofan 2009-07-16 20:34:52