想進入Ruby世界,怎可以不懂物件?想寫程式,怎可以不懂設計模式?
在這三十天內,起初主要介紹OOP,再來介紹Design Pattern。來學習物件導向的精神與設計架構等觀念!!
生成器(Builder) 目的: 從複雜物件的佈局中抽出生成程序,以便用同一個生成程序製造各種不同的物件佈局 結構: 最簡單的生成器(Builder)架構...
工廠方法模式(Factory Method) 目的: 定義可資生成物件的介面,但讓子類別去決定該具現出哪一種類別的物件。此模式讓類別將具現化程序交付給子類別去...
原型模式(Prototype) 目的: 制定可用原型個體生成的物件類型,爾後只須複製此原型即可生成新物件 結構: 結構成員: Prototype:自我複...
單例模式(Singleton) 目的: 確保類別只會有一個物件實體存在,並提供單一存取窗口 結構: 單例模式(Singleton)只有一個類別,來控管物件的...
轉接器(Adapter) 目的: 將一個類別的介面轉換成客戶希望的另外一個介面。Adapter模式使原本由於介面不相容而不能一起工作的類別可以一起工作。...
橋接模式(Bridge) 目的: 將實作體系與抽象體系分離開來,讓兩者能各自更動各自演進。 結構: 情境 建立多個餐廳,而每間餐廳內還有雞肉類套餐利用繼承...
組合模式(Composite) 目的: 將物件組織成樹狀結構、『部分-全體』層級關係,讓外界以一致性的方式對待個別物件和整體物件。 結構: 程式碼範例:...
裝飾器(Decorator) 目的: 將額外權責動態附加於物件身上,不必衍生子類別即可彈性增廣功能 結構: 程式碼範例: class Component...
門面模式(Facade) 目的: 替子系統裡的一堆介面定義一套統一的高階介面,讓子系統更易使用。 結構: 左邊是沒有使用門面模式(Facade)的狀況下,...
Flyweight(蠅量模式) 如果一個類別實例可以用來提供許多虛擬實例,那就使用蠅量模式。 簡言之:多個物件共享同份狀態 情境: 五子棋遊戲 每個棋子都有標示...