iT邦幫忙

設計模式相關文章
共有 258 則文章
鐵人賽 Software Development DAY 2

技術 【PHP 設計模式大頭菜】簡單工廠 Simple Factory

簡單工廠 Simple Factory 簡單工廠,這是一種我們真的要買大頭菜的模式,你需要建立一個工廠,這個工廠負責生產特定物件,你只需要把材料丟給工廠,工廠...

鐵人賽 自我挑戰組 DAY 3

技術 DAY14: Abstract Factory 模式

今天我們介紹 abstract factory 模式。本篇包括: 簡介此模式 舉例說明 此模式的關鍵特徵描述 簡單來說:abstract factory...

鐵人賽 Software Development DAY 1

技術 【PHP 設計模式大頭菜】單例模式 Singleton Pattern

單例模式 Singleton Pattern 單例模式,整個應用程式只會有一個實體,這個實體不會重複建立,就有點像是整座島上只有一個曹賣,這個曹賣在你這座島的...

鐵人賽 自我挑戰組 DAY 3

技術 DAY13: Bridge 模式2

Bridge 模式定義 GoF 是如此定義的: 將抽象與實作解耦合,使它們都可以獨立地變化。 要注意到,這裡的抽象和實作。必須對它們有正確的認知,才不會搞不...

鐵人賽 自我挑戰組 DAY 3

技術 DAY12: Bridge 模式1

今天我們要講的是 Bridge 模式。如同 DAY10, DAY11 的 Strategy 模式,我會分做兩篇:案例討論與應用 Bridge 模式以及實際探討何...

鐵人賽 自我挑戰組 DAY 3

技術 Day11: Strategy 模式2

今天我們繼續談 strategy 模式。 實作 strategy 模式 DAY10 提到的案例,我們今天來用程式碼來簡單實作一下: 實際的程式碼 首先,先(使用...

鐵人賽 自我挑戰組 DAY 3

技術 DAY10: Strategy 模式1

今天要討論的是 Strategy 模式。這個模式會分做兩篇。 在今天這一篇,我首先先提出一個案例。遇到需求時,我們有什麼可能的解決方式?最後,我們在引入策略模式...

鐵人賽 自我挑戰組 DAY 3

技術 DAY9: 共通性與可變性分析;敏捷程式設計

本篇接著談論 Chapter 8 的後半部分,我將談到兩個主題: 共通性與可變性分析 敏捷開發與設計模式 今天的內容會比較輕鬆,偏概念性。Here we g...

鐵人賽 自我挑戰組 DAY 3

技術 DAY8: 用不同觀點看物件與封裝

今天我們將再次審視物件導向設計,並且帶入本書作者的新觀點。作者自己提到,接下來提到的看法可能並不會有太多的原創性,但是 稱之為新觀點,是指對於大多數開發人員而...

鐵人賽 自我挑戰組 DAY 3

技術 DAY7: Adapter 模式

上一篇,我介紹了 Facade 模式,今天我們繼續介紹另一個設計模式 —— Adapter 模式。 Adapter 模式想解決的問題 先給出一個情境 假設客戶給...

鐵人賽 自我挑戰組 DAY 3

技術 DAY6: Facade 模式

今天我們開始介紹本書第一個提到的設計模式:Facade 模式。我會介紹什麼是 Facade 模式、它的一些關鍵特徵和它帶來的好處。Let's dive in!...

鐵人賽 自我挑戰組 DAY 3

技術 DAY5: 簡單介紹設計模式

有了前幾篇的基礎後,我們可以來談這次我的主題:「設計模式」。在實際進入到各個不同模式如何實踐前,我們再花些時間了解什麼是設計模式、為什麼我們要使用它? 設計模式...

鐵人賽 自我挑戰組 DAY 3

技術 DAY4: 類別間的關係

在簡單介紹完物件導向之後,我們在簡單地介紹類別間的關係。這對往後程式架構設計以及理解即將提到的設計模式有很大的幫助。 UML 圖 What the heck i...

鐵人賽 自我挑戰組 DAY 3

技術 DAY3: 從物件導向範型談起2

這篇繼續 DAY2 的例子,在上篇的結尾,我們對物件導向範型的解法提出了另一項需求:在聽課的人中,研究生中有擔任助教的人必須要先到行政處找行政人員辦理一些業務。...

鐵人賽 自我挑戰組 DAY 2

技術 DAY2: 從物件導向範型談起1

在介紹設計模式前,我們要先花點時間來介紹一下兩種程式設計:功能分解 (functional decomposition) 與 物件導向範型 (object-or...

鐵人賽 自我挑戰組 DAY 1

技術 DAY 1: 一起來讀設計模式

前言 —— 自介&參賽原因 大家好,我是哈伯,是個很菜的後端工程師。我的出身是數學系,在就學的時候跟寫程式沒什麼緣,直到出來找工作才硬把 coding 練起來。...

技術 設計模式起手式:介面(Interface)

在閱讀經典書籍《設計模式 Design Patterns》中,如果你跳過第 1 章引言,那你可能就錯過了設計模式的核心概念了!作者在引言中花了大篇幅講解 介面...

鐵人賽 Software Development DAY 19

技術 [Design Pattern] Facade 門面模式

今天的設計模式,讓我們來了解屬於結構型模式的 Facade,中文翻為門面模式、表象模式或外觀模式。Facade 這個詞源自法文 Façade,意思是建築物的正面...

鐵人賽 Software Development DAY 19

技術 [Design Pattern] Chain of Responsibility 責任鍊模式

(引用自 https://www.flickr.com/photos/strollers/12465549/) 想必沒吃過也聽過看過迴轉壽司吧,壽司師傅站在工...

鐵人賽 Software Development DAY 19

技術 [Design Pattern] Null Object 空物件模式

有一天艾倫正在開發「超級約翰」這款遊戲,這是一個橫向捲軸遊戲,主角可以透過跳躍來踩死敵人,關卡的目標就是一路過關斬將並將最後的旗子升起來。艾倫正在開發最重要的跳...

鐵人賽 Software Development DAY 19

技術 [Design Pattern] Memento 備忘錄模式

在不違反封裝性的前提下,捕捉物件的內部狀態並存在外面,以便日後回復至此一狀態。 (取自 物件導向設計模式−可再利用物件導向軟體之要素) 一個玩遊戲打魔王的回...

鐵人賽 Software Development DAY 19

技術 [Design Pattern] Mediator 中介者模式

Mediator 介紹 Mediator Pattern 是一個非常貼近現實生活應用的一個設計模式,小從傳訊息跟朋友聊天,大到聯合國協調國際衝突,只要有中間人、...

鐵人賽 Software Development DAY 19

技術 [Design Pattern] Interpreter 解譯器模式

今天要介紹的是 Intepreter,它是一種 Behavior Pattern。這個 Pattern 的目的是要用來解釋已經被定義的文法,將一段敘述轉換成表示...

鐵人賽 Software Development DAY 19

技術 [Design Pattern] Command 命令模式

一份雞排,要切不要辣。  想像一個熟悉的情況,當我們晚上買宵夜時,先走到鹹酥雞攤,跟老闆說一份雞排,要切不要辣,此時你下了第一個命令。接著走到飲料攤,跟...

鐵人賽 Software Development DAY 20

技術 [守] 養成全局思考系統分析的能力

年輕的工程師很不喜歡寫文件與做簡報。 其實不是不喜歡,而是沒有大量資訊可以歸納統整的人,是寫不出優秀的文件與簡報,當然就自然而然討厭它。 寫文件(簡報)就像寫...

鐵人賽 Software Development DAY 19

技術 [Design Pattern] Iterator 迭代器模式

還記得小時後唸書的座號嗎?老師點名的時候通常會從一號點到最後一號,不會故意從最後一號開始,也不會跳著點。但是有一種情況例外:就是那個座號的學生今天剛好請假或是轉...

鐵人賽 Software Development DAY 18

技術 [Design Pattern] Visitor 訪問者模式

PicCollage 的員工大概可以分成兩類:Regular Memnber(正職)與 Intern(實習生)。 每個員工會輪流當 weekie(週值日生),負...

鐵人賽 Software Development DAY 17

技術 [Design Pattern] Bridge 橋樑模式

今天的主題是** Bridge Pattern 橋樑模式**,它的目的是當隨著開發的 feature 增加,類別的數量也跟著急遽增加的時候,解決類別數量過多的問...

鐵人賽 Software Development DAY 15

技術 因為這個設計模式,終於讓我看懂static要怎麼用

C#的書上(蠻多)對static描寫得很艱澀難懂,我翻了幾本也是對static一知半解,真是佩服會說出只讀一本書就能自學學好C#的人Orz 設計模式這個詞主要是...

鐵人賽 Software Development DAY 16

技術 [Design Pattern] State 狀態模式

[Design Pattern] State 狀態模式 今天要介紹的 pattern 是 state pattern。在現實生活中,我們的服務或產品很常會需要根...