iT邦幫忙

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

技術 【DAY7】Adapter模式 - 外接螢幕的故事

外接螢幕的故事 之前疫情嚴重時有居家工作一段時間,而公司的筆電是14吋,在家的話想當然就是要爽爽外接大螢幕嘛(竊笑)!於是我就跑去賣場買了一台27吋的螢幕,配合...

鐵人賽 Software Development DAY 9

技術 【DAY9】Strategy模式 - 強化我的轉接器

我們在昨天有留下一個問題,假設今天變成是 AVG的外接口想要去轉成 HDMI,那是不是就要再多一個 AvgToHdmiAdapter 的類別出來並且一樣去繼承...

鐵人賽 Software Development DAY 14

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

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

鐵人賽 Software Development DAY 11

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

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

鐵人賽 Software Development DAY 8

技術 【DAY8】用『新』看物件導向的世界

前面兩天有提到 Facade 和 Adapter 兩種設計模式,裡面的範例程式碼內容基本上是環繞在三個物件導向中的基礎概念:物件、封裝、抽象類別。今天的主要目的...

鐵人賽 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 17

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

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

鐵人賽 Software Development DAY 19

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

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

鐵人賽 Software Development DAY 15

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

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

鐵人賽 Software Development DAY 20

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

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

鐵人賽 Software Development DAY 16

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

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

鐵人賽 Software Development DAY 9

技術 [Design Pattern] Template 模板模式

今天要介紹的 Pattern 是 Template Pattern。個人覺得在 Design Patterns 中,Template 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 18

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

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

鐵人賽 Software Development DAY 7

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

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

鐵人賽 Software Development DAY 1

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

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

鐵人賽 Software Development DAY 19

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

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

鐵人賽 Software Development DAY 19

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

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

鐵人賽 Software Development DAY 23
玩轉C# 進階學習之旅 系列 第 23

技術 玩轉C#之【設計模式-Design Pattern】

小心設計模式別亂用 介紹 設計模式就是過去的人,根據常見的軟體設計的問題,提出的解決方案。設計模式總共有23種,根據情境分成三大類型,建立型、結構型、行為型。...

鐵人賽 Software Development DAY 1

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

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

鐵人賽 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 備忘錄模式

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

鐵人賽 Software Development DAY 19

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

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

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

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

鐵人賽 自我挑戰組 DAY 2

技術 [Day02] Design Pattern - 設計模式的各個種類

設計模式的種類 今天來介紹設計模式有哪些以及分類! 目前設計模式有23種,根據他們的使用目的、複雜度、架構可以區分為三類(來自GoF的分類): Creati...