From Gossip@caterpillar
非關語言: 設計模式
程式設計是思維具體化的一種方式,是思考如何解決問題的過程,設計模式是在解 決問題的過程中,一些良好思路的經驗集成,最早講設計模式,人們總會提到 Gof 的著作,它最早將經典的 23 種模式集合在一起說明,對後期學習程式設計,尤其是對從事物件導向程式設計的人們起了莫大的影響。後來設計模式一詞被廣泛的應用到各種經驗集成,甚至還有反模式 (AntiPattern),反模式教導您如何避開一些常犯且似是而非的程式設計思維。
這邊的話將整理一些設計模式學習心得,實作的部份是使用 Java 與 Python,在這邊所看到的 UML 圖都是使用 Jude 繪製的。
如何有效率的產 生、管理 與操作物件,一直都是值得討論的課題, Creational 模式即與物件的建立相關,在這個分類下的模式給出了一些指導原則及設計的方向。
如何設計物件之間 的靜態結構,如何完成物件之間的繼承、實 現與依賴關係,這關乎著系統設計出來是否健壯(robust):像是易懂、易維護、易修改、耦合度低等等議題。Structural 模式正如其名,其分類下的模式給出了在不同場合下所適用的各種物件關係結構。
物件之間的合作行 為構成了程式最終的行為,物件之間若有設 計良好的行為互動,不僅使得程式執行時更有效率,更可以讓物件的職責更為清晰、整個程式的動態結構(像是物件調度)更有彈性。
|