單例模式可以建立一個獨一無二的類別實例,並讓整個應用程式存取內部的狀態和資源。 生活案例 現在很多網站都提供深色模式,來符合使用者的視覺習慣。通常這樣的設定只會...
今天要介紹的是 Decorator 模式,這也是 GoF 提出的模式之一。 情境 在軟體開發時,有時會遇到一個類別需要在執行階段時增加額外的功能,但同時又希望...
我們在第五天的時候分享過工廠方法模式,今天的主題是它的進階版——抽象工廠模式。工廠方法模式每次只生成一種產品,而抽象工廠則用來生成整個產品家族。 生活案例 在日...
介紹 昨天寫 Java 的原型模式,寫了一堆 Clone 相關的程式碼,結果今天才知道 Kotlin 在 data class 已經內建 copy 語法,又又又...
今天要介紹的是 Facade 模式,這也是 GoF 提出的模式之一。 情境 在軟體開發中,隨著時間推移系統會變得越來越複雜,系統內會包含多層次的模組或子系統/...
裝飾者模式可以讓你在不改變原有物件的情況下,動態地為物件新增行為或功能。 生活案例 想像你點了一杯咖啡,這就是一個基本物件。你可以在咖啡上加一些配料,像是鮮奶油...
介紹 之前沒用過這個模式,目前的理解是相似的物件就不用一直 new,感覺很方便 原型模式實作 跟前幾篇一樣先建立會員類別 public class Memb...
今天要介紹的是 Factory 模式,也是 GoF 提及的模式之一。 情境 在軟體開發時,有時需要建立物件,但建立物件的過程可能非常複雜或需要大量配置,需要在...
觀察者模式讓物件可以被動地接收訊息,而不需要主動追蹤主題的變化。 生活案例 大家平時有收聽 Podcast 的習慣嗎?我時常在捷運上聽 Podcast,聽聽主持...
介紹 創造者模式在 Kotlin 都已經內建好,但是和單例模式不同的地方是 Kotlin 的創造者模式是能直接用的,就是舒服 創造者模式實作 建立 data...
今天要介紹的是 Prototype 模式,這是 GoF 提出的模式之一。 情境 在軟體開發中,有些物件具有高相似度,或是使用的方法、功能類似,開發者需要一種方...
策略模式定義一個演算法介面,並讓客戶端在執行時期根據需求替換具體實作。 生活案例 不知道大家平常都怎麼上班呢?大多時候我會騎機車,想要放鬆一點的時候會改搭公車。...
優化網頁元件架構:原子設計 vs 設計模組(Pattern) 前端為了更健康的網頁架構,在開發時會追求程式模組化。而設計師們除了建立元件庫外,我們會將重複使用的...
介紹 我們在一開始介紹單例,假如我們的 App 需要取得會員相關資料,再做事情,例如呼叫 API 什麼的,所以就像以下程式碼 Member member = n...
在 Day 3 Module 模式有短暫提及 Singleton 這個詞彙,今天就來看看 Singleton 模式是什麼吧!Singleton 模式也是 Go...
工廠方法是建立型模式,它提供一個物件建立方法,讓客戶不需透過具體類別就能建立物件。 生活案例 想像你在路邊的自動販賣機買飲料,只要選取想要的品項,再投入對應的金...
介紹 Kotlin 的抽象工廠模式和 Java 版差不多,只差在 Get 和 Set 寫法不同,還有一些語法差異 抽象工廠模式實作 假設我是補習班工廠,要產出工...
Revealing Module (闡明模組)模式其實可算是 Module 模式的進階版本,Revealing Module 是由 Christian Hei...
在進入設計模式前的最後一個篇章,想向大家介紹經典的 SOLID 設計原則。 SOLID 是物件導向程式設計中的重要設計原則,旨在幫助開發者建立穩定且靈活的程式。...
今天要來介紹 Module 模式,Module 模式是 GoF 提出的模式之一,我會以 JavaScript 為主要程式語言來說明以及舉例,並盡量以情境(co...
類別圖是一種 UML (Unified Modeling Language) 中的靜態結構圖,主要用於呈現系統中的類別的靜態結構。類別圖中包含了該系統的類別、類...
設計模式是指能夠重複利用的軟體設計方式,這些模式是經驗與智慧的結晶,能夠有效解決常見的軟體設計問題。 設計模式這一用語最早源自於建築學家 Christopher...
設計模式是什麼 設計模式(design pattern)的概念起源於建築師 Christopher Alexander,他記錄了解決設計問題的經驗,隨後與 S...
對於軟體工程師而言,工作日常就是接受需求與提出解決方案。面對新需求時,除了要思考如何解決問題,還要在不同的解決方案之間做出抉擇。不同的情境有不同的考量,如何從眾...
嗨大家好!我是 Monica,第一天來講講系列文動機與大綱,談談未來的內容規劃。 關於分享主題 一直想嘗試看看鐵人賽,但苦於找不到文章主題,後來想說既然前陣子...
前言 在軟體開發過程中,我們無法保證程式碼能夠 100% 正常運作。因此,適當的錯誤處理變得至關重要,以防止意外發生並提升應用程式的穩定性與可靠性。本篇文章將帶...
摘要這篇文章探討了多代理系統設計中監督者模式的應用和實踐。文章首先回顧了多代理系統的基本概念和協作模式,接著介紹了監督者模式的特性,並以台灣棒球和啦啦隊新聞處...
摘要這篇文章探討了 多代理系統 在人工智能領域的應用,特別是 如何利用 LangGraph 框架來構建和管理多代理系統。文章首先介紹了多代理系統的基本概念,包...
摘要這篇文章主要探討了 大型語言模型 (LLM) 的自我完善技術,特別是 Self-Refine 的概念和實作方法。文章從介紹 Reflection Agen...
摘要這篇文章作者介紹了五種 AI 代理設計模式,分別是:反思(Reflection)、反饋學習(Reflexion)、規劃(Planning)、監督者(Sup...