2011-01-31 100 views
2

所以我結束了一個項目的情況,我參與的項目有兩種類型的列表(目前至少):預訂和班次列表。這兩個列表都是爲了讓我們有一個包含兩個邏輯的List對象,以及一個單獨的Shift和Booking列表對象,用於各個特徵。選擇哪種設計模式

List對象開始壓倒一切。它具有分頁,編輯功能,選擇和雙擊打開彈出窗口,鼠標懸停彈出窗口以及過濾和分頁。我想將代碼重構成更堅持的東西,也許我會想到更小的單元。我應該在這裏考慮哪些設計模式?

如果很重要,List對象包含超過3千行的OO JavaScript代碼。

+1

我懷疑你需要發佈一些代碼來獲得更多有用的幫助。也許你可以在http://codereview.stackexchange.com上發佈(至少是其中的一部分),看看人們能否提供更多的幫助?就目前來看,我想說這個問題不能真正回答。 – 2011-01-31 17:29:22

回答

6

事實上,它是壓倒性的。沒有簡單的答案或選擇的設計模式。我將開始應用「separation of concern」的設計原則。一類/一套功能只做一件事。這將有助於降低複雜性。然後你可以申請structural design patterns。首先,您可以使用委派。在你的情況下,decorator design pattern可以適合,因爲你可以用功能「裝飾」基本列表,具體取決於使用...

在思考DP之前,請考慮分離關注點,將代碼劃分爲易於理解的部分。然後使用一些DP來鏈接它們。

祝你好運!

my2c