2017年3月5日 星期日

設計模式(Design Pattern)



Pattern一詞,象徵著一種可重複利用規則與特徵,它廣泛地出現在視覺設計、攝影、商業等各種領域的文獻中,我們希望針對某個domain快速找出既有的解決方案與方法,就像網站設計可以套用現有的template,讓我們快速完成排版與佈局,同樣的,軟體設計領域,我們也會觀察問題,思考是否有可用的pattern,這樣就不必重新造輪子,快速完成程式的撰寫。

所謂工欲善其事,必先利其器,軟體設計的心法是物件導向原則,而實踐法就是design pattern,準備好你的工具箱、武器庫,在適當的時候使用它。也因此在學習design pattern時,你必須有良好的物件導向設計觀念、軟體工程知識、UML以及物件導向程式撰寫經驗:

  • 物件導向設計觀念:知道基本的物件導向觀念像是polymorphism、overload、override、interface、abstract class、inherit、encapsulation
  • 軟體工程知識:知道reuse的重要性、Developing requirements、技術的選擇與風險等等
  • 物件導向程式設計撰寫經驗:有專案系統開發實務經驗、遇過開發上的問題與貧頸等等,才會培養出sense
  • UML:透過UML建立系統開發時團隊溝通的共通語言,知道該透過什麼類型的diagram來展示你所強調的面向

沒有留言:

張貼留言