2011-01-31 62 views
0

我已經進入設計模式很長一段時間(比如說4個月),並且在我們的項目中實現了很多。我已經獲得了知識(雖然現在不會說自己是一個主人),我相信我能很好地控制他們。在框架設計中需要指導

我正在考慮逐漸將這些知識轉化爲框架設計。但我對此沒有任何經驗。

你們能否讓我在製作至少最初的步驟。

感謝

+4

第1章:不使用它們只是使用它們的緣故。 – 2011-01-31 09:35:47

回答

2

好框架將需要使用一些設計模式,它可能是有必要。

比方說 - Spring MVC。很明顯,你將使用MVC。

讓我們假設GWT。 GWT最適合MVP。

讓我們說休眠。你將會使用DAO。 (有人說這不是真正的核心定義的設計模式,但它現在被全球視爲設計模式)

依此類推。沒有真正的吸引力。我會給你一些我的想法,你可能會認爲它們是使用設計模式的一些「步驟」:

  1. 瞭解他們,讀一本書。
  2. 瞭解每天圖書館。例如,Java SE中的設計模式很多。 BalusC對此提供了非常好的答案,check it out。我認爲這是特別重要的步驟
  3. 選擇一個你需要的框架,學習它。 閱讀文檔,閱讀本書。請參閱作者及其創作者的建議。
  4. 服從好的做法。 F.E. DRY,單元測試等。設計模式的真正需求將彈出你甚至不會注意到:)它不是像'哦,我要實現這個很酷的模式',它就像'我需要改善它,這很糟糕,讓我們看看這是我需要的!'。
  5. 始終保持簡單。想想靈活性,可重用性,但總是想到簡單。使用清晰和簡單的API來處理行爲是可以預測的,這會更好。
1

框架設計比應用程序設計困難得多。我剛剛在我的博客上寫了一篇關於它的文章,並提出了三個我遵循框架設計的理想。

  1. 獲取設計釋放
  2. 保持可見SDK小&集中
  3. 讓之前正確的SDK好用

點1和2是重要的,因爲一旦釋放而成,重構可見的sdk會導致重大更改。如果您希望開發人員使用您的sdk,那麼第3點很重要。 對我而言,這些理想支配我在框架設計中做出的每一個決定。我必須在整個過程中反覆考慮它們。我在文章中提出了一些技巧來實現這些目標。

Framework/SDK/API Design Tips

在設計模式方面,我想我也跟着你有類似的經歷。幾年前我瞭解了設計模式,並意識到它們可能有多強大(和破壞性)。我在一些程序中使用了一些程序,並最終在框架中使用了一些程序。我發現在我的框架中,我有機會應用我沒有用於應用程序的新模式(我的頭頂上,我只能想到模板方法,我相信我在我的框架中使用了更多的工廠)在應用程序中,我不記得所有的細節)。

祝你好運。我認爲框架設計是困難的,但也是有益的。

免責聲明:我不是在架構設計方面的專家......只是我已經涉足的設計模式