iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
自我挑戰組

Ruby OOP to Oops !n 30 系列

想進入Ruby世界,怎可以不懂物件?想寫程式,怎可以不懂設計模式?
在這三十天內,起初主要介紹OOP,再來介紹Design Pattern。來學習物件導向的精神與設計架構等觀念!!

參賽天數 20 天 | 共 20 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 11

IT 邦鐵人賽 Day 11 - Builder

生成器(Builder) 目的: 從複雜物件的佈局中抽出生成程序,以便用同一個生成程序製造各種不同的物件佈局 結構: 最簡單的生成器(Builder)架構...

2022-09-26 ‧ 由 k_sky369 分享
DAY 12

IT 邦鐵人賽 Day 12 - Factory Method

工廠方法模式(Factory Method) 目的: 定義可資生成物件的介面,但讓子類別去決定該具現出哪一種類別的物件。此模式讓類別將具現化程序交付給子類別去...

2022-09-27 ‧ 由 k_sky369 分享
DAY 13

IT 邦鐵人賽 Day 13 - Prototype

原型模式(Prototype) 目的: 制定可用原型個體生成的物件類型,爾後只須複製此原型即可生成新物件 結構: 結構成員: Prototype:自我複...

2022-09-28 ‧ 由 k_sky369 分享
DAY 14

IT 邦鐵人賽 Day 14 - Singleton

單例模式(Singleton) 目的: 確保類別只會有一個物件實體存在,並提供單一存取窗口 結構: 單例模式(Singleton)只有一個類別,來控管物件的...

2022-09-29 ‧ 由 k_sky369 分享
DAY 15

IT 邦鐵人賽 Day 15 - Adapter

轉接器(Adapter) 目的: 將一個類別的介面轉換成客戶希望的另外一個介面。Adapter模式使原本由於介面不相容而不能一起工作的類別可以一起工作。...

2022-09-30 ‧ 由 k_sky369 分享
DAY 16

IT 邦鐵人賽 Day 16 - Bridge

橋接模式(Bridge) 目的: 將實作體系與抽象體系分離開來,讓兩者能各自更動各自演進。 結構: 情境 建立多個餐廳,而每間餐廳內還有雞肉類套餐利用繼承...

2022-10-01 ‧ 由 k_sky369 分享
DAY 17

IT 邦鐵人賽 Day 17 - Composite

組合模式(Composite) 目的: 將物件組織成樹狀結構、『部分-全體』層級關係,讓外界以一致性的方式對待個別物件和整體物件。 結構: 程式碼範例:...

2022-10-02 ‧ 由 k_sky369 分享
DAY 18

IT 邦鐵人賽 Day 18-Decorator

裝飾器(Decorator) 目的: 將額外權責動態附加於物件身上,不必衍生子類別即可彈性增廣功能 結構: 程式碼範例: class Component...

2022-10-03 ‧ 由 k_sky369 分享
DAY 19

IT 邦鐵人賽 Day 19-Facade

門面模式(Facade) 目的: 替子系統裡的一堆介面定義一套統一的高階介面,讓子系統更易使用。 結構: 左邊是沒有使用門面模式(Facade)的狀況下,...

2022-10-04 ‧ 由 k_sky369 分享
DAY 20

IT 邦鐵人賽 Day 20-Flyweight

Flyweight(蠅量模式) 如果一個類別實例可以用來提供許多虛擬實例,那就使用蠅量模式。 簡言之:多個物件共享同份狀態 情境: 五子棋遊戲 每個棋子都有標示...

2022-10-05 ‧ 由 k_sky369 分享