iT邦幫忙

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

技術 【DAY14】Decorator模式 - 那些年,我們一起搖的飲料(上)

之前大學時期曾經短暫的在飲料店打過工,想說體驗一下不同的工作,那時候也是我體重的巔峰,因為每天都可以喝飲料,只要在店裡,基本上所有的飲料都可以喝,而且想要加什麼...

鐵人賽 Software Development DAY 11

技術 【DAY11】Factory模式 - 來當工廠老闆吧!

今天介紹的是工廠模式,因為會跟明天的 Abstract Factory 有點關係,所以先來說一下,這個工廠模式,相對我們前幾天談到的其他模式都還要單純很多,也很...

鐵人賽 Software Development DAY 21

技術 【DAY21】Prototype模式 - 無限複製的秘訣!

今天要來介紹Prototype模式,簡單來說就是「複製」,在第19天時我們有提到說建立物件池去保存昂貴物件,那麼當我現在已經財富自由了,不用去管制購買機器的數量...

鐵人賽 Software Development DAY 15

技術 【DAY15】Template模式 - 那些年,我們一起搖的飲料(下)

延續昨天的例子,我們在製作飲料的過程中,其實整體步驟都是蠻相像的,不外乎就是先煮沸水,加入茶葉煮成茶,加入冰塊以及配料,最後封膜打包給客人,這一系列的流程很類似...

鐵人賽 Software Development DAY 16

技術 【DAY16】Singleton模式 - 那些年,我們一起搖的飲料(番外篇)

再延續昨天的例子,今天的我終於下定決心要減肥了,我規定我一天只能喝一杯奶茶,所以如果去買奶茶的話,店員只會給我一杯,如果再要第二杯,店員只會把剛剛做好的第一杯再...

鐵人賽 Software Development DAY 20

技術 【DAY20】Builder模式 - 今晚...我想來點麥當勞(下)

我們在 DAY6 有用麥當勞的例子來介紹 Facade模式,今天我們再用麥當勞來舉例。假設今天到了麥當勞櫃台,我們不點套餐了,就是單點(雖然比較貴XD),而店員...

鐵人賽 Software Development DAY 17

技術 【DAY17】Double-Checked Locking模式 - 多執行序環境

昨天提到,可以用Singleton模式,讓實體永遠只會建立一次。但如果現在是在多執行序的環境下,會發生什麼事呢? 第一個執行緒檢查實體是否存在。因為實體不存在...

鐵人賽 Software Development DAY 19

技術 [Design Pattern] Facade 門面模式

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

鐵人賽 Software Development DAY 2

技術 別急!進入 Design Patterns 的行前說明

開始看 Design Patterns/Architectural Patterns 之前,我們先來建立一些基本知識。 SOLID 原則 物件導向的世界中,有所...

鐵人賽 Software Development DAY 3

技術 [Design Pattern] Factory Method 工廠方法

什麼是Factory Method? Factory Method 工廠方法是一種創建型設計模式:Superclass 先粗略定義 Object 的創建方法,但...

鐵人賽 Software Development DAY 20

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

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

鐵人賽 Software Development DAY 9

技術 [Design Pattern] Template 模板模式

今天要介紹的 Pattern 是 Template Pattern。個人覺得在 Design Patterns 中,Template Pattern 大概是數一...

鐵人賽 Software Development DAY 19

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

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

鐵人賽 Software Development DAY 21
全端工程師生存筆記 系列 第 21

技術 [面試][設計模式]Code Review 會注意哪些事?會依照什麼原則對程式做 Refactoring?

在功能穩定後,你對程式碼還有要求嗎? 「沒有最好的程式,只有更好的程式。」在完成功能後 Code Review 是非常重要的事情;不只看自己的程式碼,也要多...

鐵人賽 Software Development DAY 10

技術 [Design Pattern] Strategy 策略模式

今天要介紹的 pattern 是 Strategy Pattern。跟昨天的 Template Pattern 一樣,個人覺得在 design patterns...

鐵人賽 Software Development DAY 14

技術 [Design Pattern] Flyweight 輕量模式

[Design Pattern] Flyweight 輕量模式 今天要介紹的 design pattern 是 Flyweight 輕量模式,又稱作享元模式—沒...

鐵人賽 Software Development DAY 11

技術 [Design Pattern] Prototype 原型模式

[Design Pattern] Prototype 原型模式 在很多編輯軟體中都有複製這個功能,例如 Google Slides 的複製投影片,或是 PicC...

鐵人賽 Software Development DAY 1

達標好文 技術 混沌初開:學習設計模式(與更多)前的一些嘮叨

這是一個介紹設計模式 Design Patterns 與架構模式 Architectural Patterns 的系列文章。 什麼?又是 Design Patt...

鐵人賽 Software Development DAY 19

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

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

鐵人賽 Software Development DAY 1

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

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

鐵人賽 Software Development DAY 7

技術 [Design Pattern] Observer 觀察者模式

今天要和大家介紹 Observer Pattern,又稱作 Publish-Subscribe Pattern。簡單來說,Observer Pattern 就是...

鐵人賽 Software Development DAY 19

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

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

鐵人賽 Software Development DAY 18

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

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

鐵人賽 Software Development DAY 4

技術 [Design Pattern] Builder 建造者模式

禮拜四的凌晨,台北的天空霧濛濛的,彷彿預告著明天的壞天氣還有等不到週末的壞心情。 不過珍妮可不在意這些,今天是她重要的日子。 珍妮要灑錢打造屬於自己的一輛車,順...

鐵人賽 Modern Web DAY 3

技術 [1-2] 地圖的工廠 - 以 簡單工廠模式 Simple Factory Design Pattern 產出地圖

本系列文章已出版實體書籍:「你的地圖會說話?WebGIS 與 JavaScript 的情感交織」(博碩文化)WebGIS啟蒙首選✖五家地圖API✖近百個程式範...

鐵人賽 Software Development DAY 19

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

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

鐵人賽 開發技術 DAY 2
PHP設計模式學習紀錄 系列 第 2

技術 Day2: PHP設計模式學習手冊 第一章 心得

*設計模式是:為了解決特定環境經常發生的問題而設計的概括性解決方案。 非程式庫或範本,是一般性的問題處理結構。 讓物件間具備鬆耦合關係,改程式不用擔心牽一髮動...

鐵人賽 Software Development DAY 19

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

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

技術 Day40. 範例:假期規劃 (建造者模式)

本文同步更新於blog 情境:目前提供旅遊行程的方式 <?php namespace App\BuilderPattern\Vacation;...

鐵人賽 Software Development DAY 1

技術 Day1. 前言(動機與簡介)

前言 大家好,我是Bear,目前是名PHP工程師。寫文章的當下,著迷於Clean Code、Design Pattern跟Testing。 最近在研究自己寫co...