Tagged

Design Patterns

A collection of 2 posts

Design Patterns

Factory pattern 工廠模式

距離上一篇 Strategy pattern 策略模式 已經兩個多月了,一直拖到現在才生出這篇文章...orz。 其實這篇工廠模式應該要當作第一篇 Design pattern 的文章會比較好,因為這個模式很容易懂,但是工廠模式中又細分出一些其他類似的模式,例如抽象工廠模式,所以我把一些相關的資料都讀了一遍後,分三篇作介紹。 工廠模式最主要的精神就是將 new Class 這個動作另外封裝成一個 Factory Class,這個 Factory Class 專門負責實體化這些類別。 特地這樣做有什麼好處呢? 舉個例子,假如我們現在有兩個繼承 Product 的類別,它們擁有共同的方法 Operation() 一般來講,我們如果要實體化 ProductA 或 ProductB 的話,會這樣寫: namespace FactoryPattern { class Program { static void Main(string[] args) { Product

Design Patterns

Strategy pattern 策略模式

這篇文章是我打算要寫的 Design pattern 系列中的第一篇,在我大學三年級的時候,修了系上開的視窗程式設計課程,開課教授也是我的專題指導教授,這堂課老師教了我們很多關於 programming design pattern 的觀念。 最近剛好也讀完了 O'REILLY 出版的 Head First Design Patterns(深入淺出設計模式),對於一些較常用的 pattern 也有了更加的了解,所以我希望能整理幾個比較入門的 pattern 來當作學習文章,如果有哪裡寫錯或是有疑問的,非常歡迎留言指教,大家一起學習。 什麼是 design pattern(設計模式)呢? design pattern 是對軟體設計中普遍存在(反覆出現)的各種問題,所提出的解決方案。 design pattern 並不是直接用來完成程式碼的編寫,而是描述在各種不同情況下,要怎麼解決問題的一種方案。 演算法不能算是一種 design pattern,因為演算法主要是用來解決計算上的問題,而非設計上的問題。