我工作的以下情形的多個對象適當的設計:對返回類似的數據
的視角有幾個標籤。每個選項卡由一個單獨的類 表示幷包含一個數據網格。
這些標籤可以分別返回用戶選擇的一組項目。 這些項目非常相似,但每個項目都有一個或兩個特定於其的 屬性。
的視圖演示有一個方法叫SendItems這理應得到當前活動標籤的 項目,並調用相應的後端 服務方法(根據不同藏品的一種方法)。
什麼是適當的設計在這裏?我想到的兩種方法至今:
由於項目非常相似,我在理論上組中的所有 屬性爲1項類,然後我可以抽象整件事 出具有一種稱爲GetItems()將返回 集合。然後我可以使用選項卡類型上的代理字典 調用右後端方法。
我可以讓所有選項卡來自基本選項卡,將 選項卡列表存儲在Presenter中並保留當前選項卡。在SendItems上,使 幾個條件(每個類型一個(如果CurrentTab
is
TabA => MethodA(), 等)),然後向下採樣以檢索正確的數據。最後,請撥打 適當的後端方法。
我沒有找到任何解決方案的吸引力(組單獨的屬性變成一個類/向下轉換),並希望有解決此類問題的標準方式。