設計模式筆記 (舊)

本篇已經不會再更新了……

本篇僅紀錄自己學習設計模式的內容摘要,會依照自己的理解和書中的內容結合後將內容打上
如果有理解錯誤的地方,可以在下面的 gitalk 留言通知我

Design Pattern—設計模式

設計模式,是在物件導向程式中相當重要的部份,它利用了物件導向的特性,使我們方便管理並擴充程式

但是這些模式並不是一開始就存在的,而是經歷了許多次的編程後,根據過往的經驗,將某些架構演化成我們熟悉的設計模式

而設計模式雖然很重要,但它卻不是必須的。只有在聞到程式結構的「壞味道」時才比較需要透過這些模式去重構你的程式。

過度的使用設計模式會給你的軟體帶來「不必要的複雜」。通常設計模式可以減少維護與重建程式的成本,但同時也會增加檔案的數量,過度的套用不僅無法適當的減少成本,反而還會因為文件變得巨量而更難以維護,所以在套用設計模式之前,都要先評估它所帶來的效益為何

下面是一些常見的設計模式:

  • Command Pattern
  • Active Object Pattern
  • Template Pattern
  • Strategy Pattern
  • Facade Pattern
  • Mediator Pattern
  • Singleton Pattern
  • Monostate Pattern
  • Null Object Pattern
  • Factory Pattern
  • Composite Pattern
  • Observer Pattern
  • Abatract Server Pattern
  • Adapter Pattern
  • Bridge Pattern
  • Proxy Pattern
  • Gateway Pattern

  • Visitor Pattern

  • State Pattern

參考

  • 無暇的程式碼—敏捷完整篇,物件導向原則、設計模式與 C# 實踐。