今天的主題來到了 Decorator Pattern 修飾模式,在進入內文前,讓我們先看一下 GoF 四人幫為它下的定義。 將額外權責動態附加於物件身上,不必...
上一篇文章介紹了 SOA (Service-Oriented Architecture) 的遠大願景與淡淡哀傷的下場,而這一篇要講的是 SOA 在平行宇宙的成功...
[Design Pattern] State 狀態模式 今天要介紹的 pattern 是 state pattern。在現實生活中,我們的服務或產品很常會需要根...
今天要來聊聊的是大家生活中很常見的 Adapter 配接器模式,請大家先看 VCR,噢,是定義。 將類別的介面轉換成外界所預期的另一種介面,讓原先囿於介面不相...
很多時候會希望一個類別只會有唯一一個實體,像是 DB 的接口、應用程式的偏好設定、 一個中國。 這時就會需要 Singleton Pattern 了。它的實作很...
今天的設計模式,讓我們來了解屬於結構型模式的 Facade,中文翻為門面模式、表象模式或外觀模式。Facade 這個詞源自法文 Façade,意思是建築物的正面...
今天我們來介紹一個相當實用的 Pattern: Composite,這個 Pattern 在很多知名的框架都有被套用。它雖然看起來樸實,但是卻威力強大唷!話不多...
開始看 Design Patterns/Architectural Patterns 之前,我們先來建立一些基本知識。 SOLID 原則 物件導向的世界中,有所...
什麼是Factory Method? Factory Method 工廠方法是一種創建型設計模式:Superclass 先粗略定義 Object 的創建方法,但...
今天要介紹的 Pattern 是 Template Pattern。個人覺得在 Design Patterns 中,Template Pattern 大概是數一...
Mediator 介紹 Mediator Pattern 是一個非常貼近現實生活應用的一個設計模式,小從傳訊息跟朋友聊天,大到聯合國協調國際衝突,只要有中間人、...
今天要介紹的 pattern 是 Strategy Pattern。跟昨天的 Template Pattern 一樣,個人覺得在 design patterns...
[Design Pattern] Prototype 原型模式 在很多編輯軟體中都有複製這個功能,例如 Google Slides 的複製投影片,或是 PicC...
[Design Pattern] Flyweight 輕量模式 今天要介紹的 design pattern 是 Flyweight 輕量模式,又稱作享元模式—沒...
有一天,身為一個優秀開發者的你被同事抓到旁邊,他想到了一個空前絕後、聰明至極的好點子:一個線上停車繳費系統!非常興奮的他開始滔滔不絕地說著如何連接 GPS,放到...
這是一個介紹設計模式 Design Patterns 與架構模式 Architectural Patterns 的系列文章。 什麼?又是 Design Patt...
有一天艾倫正在開發「超級約翰」這款遊戲,這是一個橫向捲軸遊戲,主角可以透過跳躍來踩死敵人,關卡的目標就是一路過關斬將並將最後的旗子升起來。艾倫正在開發最重要的跳...
今天要和大家介紹 Observer Pattern,又稱作 Publish-Subscribe Pattern。簡單來說,Observer Pattern 就是...
還記得小時後唸書的座號嗎?老師點名的時候通常會從一號點到最後一號,不會故意從最後一號開始,也不會跳著點。但是有一種情況例外:就是那個座號的學生今天剛好請假或是轉...
PicCollage 的員工大概可以分成兩類:Regular Memnber(正職)與 Intern(實習生)。 每個員工會輪流當 weekie(週值日生),負...
禮拜四的凌晨,台北的天空霧濛濛的,彷彿預告著明天的壞天氣還有等不到週末的壞心情。 不過珍妮可不在意這些,今天是她重要的日子。 珍妮要灑錢打造屬於自己的一輛車,順...
在不違反封裝性的前提下,捕捉物件的內部狀態並存在外面,以便日後回復至此一狀態。 (取自 物件導向設計模式−可再利用物件導向軟體之要素) 一個玩遊戲打魔王的回...
今天要介紹的是 Intepreter,它是一種 Behavior Pattern。這個 Pattern 的目的是要用來解釋已經被定義的文法,將一段敘述轉換成表示...
前言:Design Patterns 在上一篇文章告一個段落了,本系列文章從今天開始會介紹五個常見的 Architectural Pattern,依序為 MV...
今天的主題是** Bridge Pattern 橋樑模式**,它的目的是當隨著開發的 feature 增加,類別的數量也跟著急遽增加的時候,解決類別數量過多的問...
作為 architecture pattern 三兄弟最晚出生的小弟,MVVM (Model-View-ViewModel) 卻在 Android 平台上成為...
PicCollage 的 Design Patterns 系列文章到一個尾聲了。最後一篇向 Jaime(我們的 CTO)邀稿來解釋什麼是 monads! 下台...
今天為各位介紹的主題是: "Model-View-Controller" MVC architecture pattern,以及它在 And...
一份雞排,要切不要辣。 想像一個熟悉的情況,當我們晚上買宵夜時,先走到鹹酥雞攤,跟老闆說一份雞排,要切不要辣,此時你下了第一個命令。接著走到飲料攤,跟...
(引用自 https://www.flickr.com/photos/strollers/12465549/) 想必沒吃過也聽過看過迴轉壽司吧,壽司師傅站在工...