什麼是 Design Pattern

什麼是 Design Pattern
所以,Pattern 就是一種「千錘百鍊」的智慧結晶。有經驗的專家和沒經驗的新手,差別就在於:有經驗的專家知道如何在適當的時機,套用某些公式(Pattern)以解決特定
的問題,這是專家經年累月所培養出來的 Know-How(請參見「軟體產業的知識經濟」一文)。

一般來說,物件導向軟體開發的程序可以粗略分成 OOA(物件導向分析)、OOD(物件導向設計)、OOP(物件導向實作)。在
OOD(Object-Oriented Design)階段所採用的 Pattern 就稱為 Design Pattern。運用良好的 Design
Pattern,可以使得系統架構更優良(也更快完成),對於後續的 OOP、測試、維護,都會有很大的 幫助。Design Pattern
會告訴你,什麼情況下用 Delegation 而不要用繼承、什麼情況下用 Interface 而不要用 Class... 諸如此類的知識。這些都是軟體界前輩的智慧結晶。

我要強調 Design Pattern 專指 Design 時期的 Pattern。但是 Coding
時的 Pattern(例如程式碼內縮)最好不要稱為 Pattern,以免混淆。Coding 時期的 Pattern 最好稱為 Coding
Style(或 Code Style)。

Design Pattern 這個名詞也可沿用到許多地方。我認為孫子兵法就是一本軍事領域 Design
Pattern 的書,它告訴你什麼時候該採什麼樣的軍事動作。至於怎麼去砍人,則是屬於 implementation 的部分,不屬於孫子兵法的範圍。

 
之前真的看不懂是甚麼 然後找找到這個好像能解答一下我

http://www.oreilly.com.tw/column_sleepless.php?id=j008