終於來到第30天,真的是太感動了,沒想到可以完成這一系列設計模式的介紹,最後我們就來回顧一下之前介紹各個模式時的一些要點以及總結。
在討論設計模式的過程中,我們說到了許多物件導向範型的原則。這些原則可以總結如下:
在前面介紹的設計模式中有幾個都具備如此的特點 - 「對客戶物件隔離了實作細節」。例如在 Bridge 模式對客戶物件隱藏了如何實作 Abstraction
的衍生類別的細節。此外,Implemention
介面也對 Abstraction
及其衍生類別隱藏了實作。在大多數模式都是如此,它們提供了隱藏具體實作的各種方式。
隱藏實作的價值在於,模式使開發人員能夠容易地增加新的實作,因為客戶物件不知道目前實作的具體工作細節。
要從這一系列文章完全學會設計模式是不可能的。必須編寫程式碼,在設計中使用它們。在學習模式的過程中,尋找以下約束因素和概念會有所幫助:
在我們這30天的設計模式的旅程裡,總共介紹22種的模式,當然還有一些模式沒介紹到,例如:Command、Interpreter、Visitor…等等的模式,但其實基本上都是慣用上面列述的方法去實現的。
最後想說的是,我們可以套用模式來幫助我們提升寫程式時的設計架構,但當回顧這一系列的文章,會發現其實我們遵循的原則都差不多。最重要的是,要如何提升對於『真實的感悟力』,清楚了解現在真實所需要的是什麼,那麼不管要如何使用設計模式,或者多種模式的搭配,亦或是自己打造出一個全新的模式,這些都是對於自身價值的提升,也是作為工程師所需要具備的。
最後感謝大家的觀看,如果有任何問題都能夠提出來,我會虛心受教的~~