2011-05-28 35 views
-4

我的UI之間的適配器顯示列表。它只理解一種類型的列表(我們正在使用外部API)。我不想將我的數據提取和業務邏輯與API緊密結合。創建代碼,將充當API和業務代碼和的外部API

我有不同類型的列表。列表X有N列,列表Y有M列。 X具有X1,X2和X3作爲子類型(當前共享相同的一組列)。 Y將Y1,Y2和Y3作爲子類型(當前共享相同的一組列)。

我知道我必須在其中將充當API和業務層之間的中間人的一層實現的Adapter。但是,如果適配器將知道所有列表類型(X,Y,以及將來的Z)的全部內容,那麼邏輯將不會被重複使用,並且將針對X,Y和Z重複使用。

我正在考慮使用某種工廠提供基於某些輸入請求的列表類型,但暴露的對象保持不變。問題是列表X和Y(和Z)的列集(實現爲類,然後屬性)不匹配。因此,單個界面可能無法幫助,工廠不是純粹的工廠。

而且,列數,並在列表中列的順序是可配置的,特定的用戶。因此,用戶可以刪除一列,並且可以肯定地重新排序,並且列的訂單信息必須保存在數據庫中。

我怎麼能想出通用代碼在這裏?我想創建將充當API和列表代碼與任何其他API之間的適配器的代碼。我的項目使用C#。

+4

哇,這是一個單片段落。 – 2011-05-28 12:20:51

+4

我在本文中的任何地方都看不到問號。你的問題是什麼? – Phrogz 2011-05-28 12:25:02

+0

您需要不是工廠的適配器。據我所知,不同的名單正在適應相同的來源。 http://en.wikipedia.org/wiki/Adapter_pattern – Hogan 2011-05-28 12:37:37

回答

1

如果你正在尋找一概而論,你應該使用model–view–controller(MVC)模式。

模型=數據提取。控制器=業務邏輯。查看=用戶界面。

你可以堅持你的用戶瞭解您的列表顯示和/或與其他車型配置的偏好,其內容是永遠不會直接顯示給用戶。