iT邦幫忙

design pattern相關文章
共有 489 則文章
鐵人賽 Software Development DAY 10
前端也想學設計模式 系列 第 10

技術 Day 10 - Singleton 單例

單例模式可以建立一個獨一無二的類別實例,並讓整個應用程式存取內部的狀態和資源。 生活案例 現在很多網站都提供深色模式,來符合使用者的視覺習慣。通常這樣的設定只會...

鐵人賽 JavaScript DAY 9

技術 [Day 09] Decorator 模式

今天要介紹的是 Decorator 模式,這也是 GoF 提出的模式之一。 情境 在軟體開發時,有時會遇到一個類別需要在執行階段時增加額外的功能,但同時又希望...

鐵人賽 Software Development DAY 9
前端也想學設計模式 系列 第 9

技術 Day 09 - Abstract Factory 抽象工廠

我們在第五天的時候分享過工廠方法模式,今天的主題是它的進階版——抽象工廠模式。工廠方法模式每次只生成一種產品,而抽象工廠則用來生成整個產品家族。 生活案例 在日...

鐵人賽 Mobile Development DAY 9

技術 113/09 - 原型模式(Prototype)- Kotlin

介紹 昨天寫 Java 的原型模式,寫了一堆 Clone 相關的程式碼,結果今天才知道 Kotlin 在 data class 已經內建 copy 語法,又又又...

鐵人賽 JavaScript DAY 8

技術 [Day 08] Facade 模式

今天要介紹的是 Facade 模式,這也是 GoF 提出的模式之一。 情境 在軟體開發中,隨著時間推移系統會變得越來越複雜,系統內會包含多層次的模組或子系統/...

鐵人賽 Software Development DAY 8
前端也想學設計模式 系列 第 8

技術 Day 08 - Decorator 裝飾者

裝飾者模式可以讓你在不改變原有物件的情況下,動態地為物件新增行為或功能。 生活案例 想像你點了一杯咖啡,這就是一個基本物件。你可以在咖啡上加一些配料,像是鮮奶油...

鐵人賽 Mobile Development DAY 8

技術 113/08 - 原型模式(Prototype)- Java

介紹 之前沒用過這個模式,目前的理解是相似的物件就不用一直 new,感覺很方便 原型模式實作 跟前幾篇一樣先建立會員類別 public class Memb...

鐵人賽 JavaScript DAY 7

技術 [Day 07] Factory 模式

今天要介紹的是 Factory 模式,也是 GoF 提及的模式之一。 情境 在軟體開發時,有時需要建立物件,但建立物件的過程可能非常複雜或需要大量配置,需要在...

鐵人賽 Software Development DAY 7
前端也想學設計模式 系列 第 7

技術 Day 07 - Observer 觀察者

觀察者模式讓物件可以被動地接收訊息,而不需要主動追蹤主題的變化。 生活案例 大家平時有收聽 Podcast 的習慣嗎?我時常在捷運上聽 Podcast,聽聽主持...

鐵人賽 Mobile Development DAY 7

技術 113/07 - 創造者模式(Builder)- Kotlin

介紹 創造者模式在 Kotlin 都已經內建好,但是和單例模式不同的地方是 Kotlin 的創造者模式是能直接用的,就是舒服 創造者模式實作 建立 data...

鐵人賽 JavaScript DAY 6

技術 [Day 06] Prototype 模式

今天要介紹的是 Prototype 模式,這是 GoF 提出的模式之一。 情境 在軟體開發中,有些物件具有高相似度,或是使用的方法、功能類似,開發者需要一種方...

鐵人賽 Software Development DAY 6
前端也想學設計模式 系列 第 6

技術 Day 06 - Strategy 策略

策略模式定義一個演算法介面,並讓客戶端在執行時期根據需求替換具體實作。 生活案例 不知道大家平常都怎麼上班呢?大多時候我會騎機車,想要放鬆一點的時候會改搭公車。...

鐵人賽 IT 管理 DAY 12

技術 [Day12-開發前期] 原子設計?功能設計模組化,元件庫 Level up!

優化網頁元件架構:原子設計 vs 設計模組(Pattern) 前端為了更健康的網頁架構,在開發時會追求程式模組化。而設計師們除了建立元件庫外,我們會將重複使用的...

鐵人賽 Mobile Development DAY 6

技術 113/06 - 創造者模式(Builder)- Java

介紹 我們在一開始介紹單例,假如我們的 App 需要取得會員相關資料,再做事情,例如呼叫 API 什麼的,所以就像以下程式碼 Member member = n...

鐵人賽 JavaScript DAY 5

技術 [Day 05] Singleton 模式

在 Day 3 Module 模式有短暫提及 Singleton 這個詞彙,今天就來看看 Singleton 模式是什麼吧!Singleton 模式也是 Go...

鐵人賽 Software Development DAY 5
前端也想學設計模式 系列 第 5

技術 Day 05 - Factory Method 工廠方法

工廠方法是建立型模式,它提供一個物件建立方法,讓客戶不需透過具體類別就能建立物件。 生活案例 想像你在路邊的自動販賣機買飲料,只要選取想要的品項,再投入對應的金...

鐵人賽 Mobile Development DAY 5

技術 113/05 - 抽象工廠模式(Abstract Factory)- Kotlin

介紹 Kotlin 的抽象工廠模式和 Java 版差不多,只差在 Get 和 Set 寫法不同,還有一些語法差異 抽象工廠模式實作 假設我是補習班工廠,要產出工...

鐵人賽 JavaScript DAY 4

技術 [Day 04] Revealing Module 模式

Revealing Module (闡明模組)模式其實可算是 Module 模式的進階版本,Revealing Module 是由 Christian Hei...

鐵人賽 Software Development DAY 4
前端也想學設計模式 系列 第 4

技術 Day 04 - 堅若磐石 SOLID

在進入設計模式前的最後一個篇章,想向大家介紹經典的 SOLID 設計原則。 SOLID 是物件導向程式設計中的重要設計原則,旨在幫助開發者建立穩定且靈活的程式。...

鐵人賽 JavaScript DAY 3

技術 [Day 03] Module 模式

今天要來介紹 Module 模式,Module 模式是 GoF 提出的模式之一,我會以 JavaScript 為主要程式語言來說明以及舉例,並盡量以情境(co...

鐵人賽 Software Development DAY 3
前端也想學設計模式 系列 第 3

技術 Day 03 - UML Class Diagram 類別圖

類別圖是一種 UML (Unified Modeling Language) 中的靜態結構圖,主要用於呈現系統中的類別的靜態結構。類別圖中包含了該系統的類別、類...

鐵人賽 Software Development DAY 2
前端也想學設計模式 系列 第 2

技術 Day 02 - 何謂設計模式

設計模式是指能夠重複利用的軟體設計方式,這些模式是經驗與智慧的結晶,能夠有效解決常見的軟體設計問題。 設計模式這一用語最早源自於建築學家 Christopher...

鐵人賽 JavaScript DAY 2

技術 [Day 02] 設計模式簡介

設計模式是什麼 設計模式(design pattern)的概念起源於建築師 Christopher Alexander,他記錄了解決設計問題的經驗,隨後與 S...

鐵人賽 Software Development DAY 1
前端也想學設計模式 系列 第 1

技術 Day 01 - 前言

對於軟體工程師而言,工作日常就是接受需求與提出解決方案。面對新需求時,除了要思考如何解決問題,還要在不同的解決方案之間做出抉擇。不同的情境有不同的考量,如何從眾...

鐵人賽 JavaScript DAY 1

技術 [Day 01] 系列文動機與大綱

嗨大家好!我是 Monica,第一天來講講系列文動機與大綱,談談未來的內容規劃。 關於分享主題 一直想嘗試看看鐵人賽,但苦於找不到文章主題,後來想說既然前陣子...

鐵人賽 Modern Web DAY 21

技術 【Day21】Go 中的錯誤處理 | Error Handling 實踐指南

前言 在軟體開發過程中,我們無法保證程式碼能夠 100% 正常運作。因此,適當的錯誤處理變得至關重要,以防止意外發生並提升應用程式的穩定性與可靠性。本篇文章將帶...

鐵人賽 生成式 AI DAY 17

技術 【Day 17】- 多代理系統設計: 監督者模式的應用與實踐

摘要這篇文章探討了多代理系統設計中監督者模式的應用和實踐。文章首先回顧了多代理系統的基本概念和協作模式,接著介紹了監督者模式的特性,並以台灣棒球和啦啦隊新聞處...

鐵人賽 生成式 AI DAY 16

技術 【Day 16】- Agentic Pattern:以多代理協作模式革新 AI 系統

摘要這篇文章探討了 多代理系統 在人工智能領域的應用,特別是 如何利用 LangGraph 框架來構建和管理多代理系統。文章首先介紹了多代理系統的基本概念,包...

鐵人賽 生成式 AI DAY 12

技術 【Day 12】- AI代理自我反思:深入探討 Self-Refine 技術與 LangGraph 實作

摘要這篇文章主要探討了 大型語言模型 (LLM) 的自我完善技術,特別是 Self-Refine 的概念和實作方法。文章從介紹 Reflection Agen...

鐵人賽 生成式 AI DAY 11

技術 【Day 11】- 從反思到監督:五大 AI 代理設計模式速成指南

摘要這篇文章作者介紹了五種 AI 代理設計模式,分別是:反思(Reflection)、反饋學習(Reflexion)、規劃(Planning)、監督者(Sup...