簡單工廠 Simple Factory 簡單工廠,這是一種我們真的要買大頭菜的模式,你需要建立一個工廠,這個工廠負責生產特定物件,你只需要把材料丟給工廠,工廠...
今天我們介紹 abstract factory 模式。本篇包括: 簡介此模式 舉例說明 此模式的關鍵特徵描述 簡單來說:abstract factory...
單例模式 Singleton Pattern 單例模式,整個應用程式只會有一個實體,這個實體不會重複建立,就有點像是整座島上只有一個曹賣,這個曹賣在你這座島的...
Bridge 模式定義 GoF 是如此定義的: 將抽象與實作解耦合,使它們都可以獨立地變化。 要注意到,這裡的抽象和實作。必須對它們有正確的認知,才不會搞不...
今天我們要講的是 Bridge 模式。如同 DAY10, DAY11 的 Strategy 模式,我會分做兩篇:案例討論與應用 Bridge 模式以及實際探討何...
今天我們繼續談 strategy 模式。 實作 strategy 模式 DAY10 提到的案例,我們今天來用程式碼來簡單實作一下: 實際的程式碼 首先,先(使用...
今天要討論的是 Strategy 模式。這個模式會分做兩篇。 在今天這一篇,我首先先提出一個案例。遇到需求時,我們有什麼可能的解決方式?最後,我們在引入策略模式...
本篇接著談論 Chapter 8 的後半部分,我將談到兩個主題: 共通性與可變性分析 敏捷開發與設計模式 今天的內容會比較輕鬆,偏概念性。Here we g...
今天我們將再次審視物件導向設計,並且帶入本書作者的新觀點。作者自己提到,接下來提到的看法可能並不會有太多的原創性,但是 稱之為新觀點,是指對於大多數開發人員而...
上一篇,我介紹了 Facade 模式,今天我們繼續介紹另一個設計模式 —— Adapter 模式。 Adapter 模式想解決的問題 先給出一個情境 假設客戶給...
今天我們開始介紹本書第一個提到的設計模式:Facade 模式。我會介紹什麼是 Facade 模式、它的一些關鍵特徵和它帶來的好處。Let's dive in!...
有了前幾篇的基礎後,我們可以來談這次我的主題:「設計模式」。在實際進入到各個不同模式如何實踐前,我們再花些時間了解什麼是設計模式、為什麼我們要使用它? 設計模式...
在簡單介紹完物件導向之後,我們在簡單地介紹類別間的關係。這對往後程式架構設計以及理解即將提到的設計模式有很大的幫助。 UML 圖 What the heck i...
這篇繼續 DAY2 的例子,在上篇的結尾,我們對物件導向範型的解法提出了另一項需求:在聽課的人中,研究生中有擔任助教的人必須要先到行政處找行政人員辦理一些業務。...
在介紹設計模式前,我們要先花點時間來介紹一下兩種程式設計:功能分解 (functional decomposition) 與 物件導向範型 (object-or...
前言 —— 自介&參賽原因 大家好,我是哈伯,是個很菜的後端工程師。我的出身是數學系,在就學的時候跟寫程式沒什麼緣,直到出來找工作才硬把 coding 練起來。...
在閱讀經典書籍《設計模式 Design Patterns》中,如果你跳過第 1 章引言,那你可能就錯過了設計模式的核心概念了!作者在引言中花了大篇幅講解 介面...
今天的設計模式,讓我們來了解屬於結構型模式的 Facade,中文翻為門面模式、表象模式或外觀模式。Facade 這個詞源自法文 Façade,意思是建築物的正面...
(引用自 https://www.flickr.com/photos/strollers/12465549/) 想必沒吃過也聽過看過迴轉壽司吧,壽司師傅站在工...
有一天艾倫正在開發「超級約翰」這款遊戲,這是一個橫向捲軸遊戲,主角可以透過跳躍來踩死敵人,關卡的目標就是一路過關斬將並將最後的旗子升起來。艾倫正在開發最重要的跳...
在不違反封裝性的前提下,捕捉物件的內部狀態並存在外面,以便日後回復至此一狀態。 (取自 物件導向設計模式−可再利用物件導向軟體之要素) 一個玩遊戲打魔王的回...
Mediator 介紹 Mediator Pattern 是一個非常貼近現實生活應用的一個設計模式,小從傳訊息跟朋友聊天,大到聯合國協調國際衝突,只要有中間人、...
今天要介紹的是 Intepreter,它是一種 Behavior Pattern。這個 Pattern 的目的是要用來解釋已經被定義的文法,將一段敘述轉換成表示...
一份雞排,要切不要辣。 想像一個熟悉的情況,當我們晚上買宵夜時,先走到鹹酥雞攤,跟老闆說一份雞排,要切不要辣,此時你下了第一個命令。接著走到飲料攤,跟...
年輕的工程師很不喜歡寫文件與做簡報。 其實不是不喜歡,而是沒有大量資訊可以歸納統整的人,是寫不出優秀的文件與簡報,當然就自然而然討厭它。 寫文件(簡報)就像寫...
還記得小時後唸書的座號嗎?老師點名的時候通常會從一號點到最後一號,不會故意從最後一號開始,也不會跳著點。但是有一種情況例外:就是那個座號的學生今天剛好請假或是轉...
PicCollage 的員工大概可以分成兩類:Regular Memnber(正職)與 Intern(實習生)。 每個員工會輪流當 weekie(週值日生),負...
今天的主題是** Bridge Pattern 橋樑模式**,它的目的是當隨著開發的 feature 增加,類別的數量也跟著急遽增加的時候,解決類別數量過多的問...
C#的書上(蠻多)對static描寫得很艱澀難懂,我翻了幾本也是對static一知半解,真是佩服會說出只讀一本書就能自學學好C#的人Orz 設計模式這個詞主要是...
[Design Pattern] State 狀態模式 今天要介紹的 pattern 是 state pattern。在現實生活中,我們的服務或產品很常會需要根...