tag 設計模式

標籤
貢獻47
130
05:27 PM · Oct 25 ,2025

@設計模式 / 博客 RSS 訂閱

Vcats - 《Head First設計模式》讀書筆記 —— 單例模式

《Head First設計模式》讀書筆記 相關代碼:Vks-Feng/HeadFirstDesignPatternNotes: Head First設計模式讀書筆記及相關代碼 用來創建獨一無二的,只能有一個實例的對象的入場券 為什麼需要單件模式 有些對象只能有一個實例 線程池、緩存、對話框、設備的驅動程序的對象、註冊表設置對象 如果製造出多個實例,就會導致許多問題產生

設計模式

收藏 評論

FreakStudio - C語言一點五編程實戰:純 C 的模塊化×繼承×多態框架

本文將大量涉及C語言高級操作,如函數指針、結構體指針、二級指針、指針頻繁引用解引用、typedef、static、inline和C語言項目結構等知識,請確保自己不會被上述知識衝擊,如果沒有這顧慮,請盡情享受~ 摘要: 本文探討在C語言中模擬面向對象編程(OOP)的"一點五編程"技術,通過函數指針、結構體嵌套和二級指針強制轉換實現類、接口與多態。開發流程分聲明(接口/類結構體、類型轉換函數)、

設計模式

收藏 評論

Vcats - 《Head First設計模式》讀書筆記 —— 工廠

《Head First設計模式》讀書筆記 相關代碼:Vks-Feng/HeadFirstDesignPatternNotes: Head First設計模式讀書筆記及相關代碼 除了new操作符外,還有更多製造對象的方法 “實例化”這個活動不應該總是公開地進行 初始化經常造成“耦合”問題 實例化的問題 當看到“new”就會想到“具體” 使用new時,就是在針對實現編程,而非針對接

設計模式

收藏 評論

Vcats - 《Head First設計模式》讀書筆記 —— 裝飾者模式

《Head First設計模式》讀書筆記 相關代碼:Vks-Feng/HeadFirstDesignPatternNotes: Head First設計模式讀書筆記及相關代碼 給愛用繼承的人一個全新的設計眼界 本節用例 Starbuzz咖啡因迅速擴展,準備更新訂單系統,以合乎其飲料供應需求 原有類設計如下: 在購買咖啡時,可以在其中加入各種調料,系統需要考慮調料部分計算費用 第

設計模式

收藏 評論

buguge - 開竅了!如何為緩存工具類(CacheUtil中的static方法)定義interface(上)

兩個不同策略的緩存工具類 在我們系統的基建包裏,有一個基於redis的get/set等基礎api封裝的 CacheUtil。 CacheUtil 主要有下面2個靜態方法: import java.util.function.Supplier; public class CacheUtil { /** * 獲取緩存。如果沒有,則設置 */ public s

設計模式

收藏 評論

Vcats - 《Head First設計模式》讀書筆記 —— 觀察者模式

《Head First設計模式》讀書筆記 相關代碼:Vks-Feng/HeadFirstDesignPatternNotes: Head First設計模式讀書筆記及相關代碼 讓你的對象知悉現狀,不會錯過對象感興趣的事 對象甚至在運行時可決定是否要繼續被通知 JDK中使用最多的模式之一 本節例子 系統三部分: 氣象站:獲取實際氣象數據的物理裝置 WeatherData對象(

設計模式

收藏 評論

淵渟嶽 - 學習設計模式有這兩就夠了:手冊+實戰項目

歷經一年時間,設計模式手冊和練手項目已全部編寫完成 秘籍1設計模式手冊:《掌握設計模式:23種經典模式實踐、選擇、價值與思想》 秘籍2練手項目:設計模式實戰項目--markdown文本編輯器軟件開發(已開源) 📝秘籍1 設計模式手冊 該手冊將為你回答: 什麼是設計模式? 怎麼學習設計模式 為什麼學了設計模式卻用不上? 設計模式在開發流程中如何

設計模式

收藏 評論

淵渟嶽 - 學習設計模式找不到練手的實戰項目?項目已開源

手寫解析器、渲染器、主題樣式、自定義彈窗和精細的撤銷/恢復機制等。 📌整體總結 YtyMark-java 項目,從用户輸入到用户查看到實時渲染結果的全過程 監聽文本區域內容是否發生變化 解析和渲染:“原始文本的塊裁剪”→“塊級元素解析” → “行內元素解析” → “渲染” 四大階段 將渲染結果重新刷新展示出來 從UI界面到核心的解析渲染,通過一系列

設計模式

收藏 評論

淵渟嶽 - 開源項目YtyMark文本編輯器--UI界面相關功能(關於設計模式的實戰運用)

🙌開源項目地址 🌍 GitHub 開源地址(YtyMark-java) 歡迎提交 PR、Issue、Star ⭐️! 📌1. 簡述 YtyMark-java項目分為兩大模塊: UI界面(ytyedit-mark) markdown文本解析和渲染(ytymark) 本文主要內容為UI界面相關功能。 關於markdown文本解析器UI界面的實現。在這整個流程中,

設計模式

收藏 評論

註銷 - 面向對象軟件設計領域中職責分離 Segregation of Duties 概念介紹

在討論 Segregation of Duties (SoD) 的概念前,我們先明確它在計算機軟件設計和企業管理中的基本含義。SoD,中文可以翻譯為 職責分離 或 權責分離,是一種防範風險和提高系統安全性的管理策略,要求將關鍵職責分配給多個人或系統,以避免利益衝突、減少錯誤和欺詐的風險。在面向對象設計領域,這一概念同樣適用,意味着系統的不同職責應該由不同的對象承擔,以保持系統的高內聚和低耦合性,進

設計 , 設計模式 , 對象

收藏 評論

淵渟嶽 - 分享個人設計模式筆記文檔:《掌握設計模式:23種經典模式實踐、選擇、價值與思想》

本文主要分享我的設計模式筆記PDF文檔:《掌握設計模式:23種經典模式實踐、選擇、價值與思想》 這只是設計模式的秘籍1:《掌握設計模式:23種經典模式實踐、選擇、價值與思想》 後續還會分享練手項目秘籍2:設計模式實戰項目--markdown文本編輯器軟件開發(開放所有源代碼) 前言 為什麼要寫這份資料? 為了更方便閲讀和學習設計模式,我將之前發的所有有關設計模式的文章彙

設計模式

收藏 評論

淵渟嶽 - 為什麼學習設計模式?

1. 學習設計模式的意義:讓代碼更優雅,讓開發更從容 設計模式的學習常常被貼上“枯燥”“抽象”的標籤,但它更像一本軟件開發的“烹飪食譜”——不是要求你死記硬背,而是教會你如何用更巧妙的方式組合代碼的“食材”,最終做出一道既美味(功能完善)又美觀(易於維護)的“佳餚”。以下是它的核心價值與意義: 1.1. 像搭積木一樣寫代碼 想象一下,你在開發一個電商系統: 當需要管理全局唯一的購物車實例時,

設計模式

收藏 評論

花酒鋤作田 - [設計模式]行為型-備忘錄模式

簡介 備忘錄模式(Memento Pattern)是一種行為型設計模式,它允許生成對象狀態的快照並在以後將其還原。備忘錄模式不會影響它所處理對象的內部結構,也不會影響快照中存儲的數據。簡單來説,它就像遊戲中的“保存”和“加載”功能。 組成角色: Originator(發起人): 主要用於生成自身狀態的快照,在需要時可以通過快照恢復自身狀態。 Memento(備忘錄): 一個對象,用於存儲Or

設計模式

收藏 評論

淵渟嶽 - 學了設計模式,卻不知道怎麼選擇?

本人主要講述設計模式怎麼去選擇,這僅僅是不知從何下手提供一個抓手的東西,並不是銀彈。常想、多用,積累經驗後,方可靈活運用,做到無模式勝有模式,才可能會在複雜場景中,設計出高質量的系統。 設計模式的選擇是一個從問題到解決方案的遞進過程。通過明確問題類型、分析目標特性、遵循設計原則以及結合場景需求,可以高效地篩選出最佳設計模式,從而達到優化系統設計,提升代碼質量和可維護性。設計模式不僅是一種工具,更是

設計模式

收藏 評論

花酒鋤作田 - [設計模式]行為型-命令模式

簡介 命令模式(Command Pattern)是一種行為型設計模式,它將請求或操作封裝為獨立的對象,允許用户參數化客户端、隊列請求、記錄日誌,並支持撤銷操作。該模式的核心思想是將“請求的發起者”與“請求的執行者”解耦,使兩者通過命令對象進行交互。 角色組成: 調用者(Invoker),負責發起請求的類 命令(Command),一個接口,通常僅聲明一個執行命令的方法 具體命令(Concre

設計模式

收藏 評論

淵渟嶽 - 掌握設計模式--解釋器模式

解釋器模式(Interpreter Pattern) 解釋器模式(Interpreter Pattern)是一種行為型設計模式,用於定義一種語言的文法表示,並提供一個解釋器來解釋該語言中的句子。這種模式通常用於開發需要解析、解釋和執行特定語言或表達式的應用程序。 主要目的是為特定類型的問題定義一種語言,然後用該語言的解釋器來解決問題。 主要組成部分 解釋器模式的結構通常包括以下幾個部分:

設計模式

收藏 評論

淵渟嶽 - 掌握設計模式--狀態模式

狀態模式(State Pattern) 狀態模式(State Pattern)是一種行為設計模式,它允許對象在其內部狀態改變時改變其行為,看起來像是改變了其類。這種模式通常用於解決對象在運行時狀態多變且行為複雜的問題。 核心思想:將狀態與行為綁定,每種狀態對應一個具體類有獨立的行為邏輯,狀態的切換隻需更換狀態對象,並且狀態流轉在行為邏輯中完成。 主要組成部分 Context(上下文):

設計模式

收藏 評論

淵渟嶽 - 掌握設計模式--中介者模式

中介者模式(Mediator Pattern) 中介者模式(Mediator Pattern)是一種行為型設計模式,它通過引入一箇中介者對象,來減少多個對象之間的直接依賴,使對象之間的通信變得鬆耦合。對象不直接相互引用,而是通過中介者與其他對象交互。這有助於提高系統的可維護性和擴展性。 核心思想: 將對象間複雜的依賴關係抽象到中介者中,從而使對象之間的依賴關係變得簡單。 主要組成部分 中介者接

設計模式

收藏 評論

小帆聊前端 - 前端設計模式深度解讀:從混沌到有序,寫出可維護的代碼

前端設計模式深度解讀:從混沌到有序,寫出可維護的代碼 前言:你是否也被這些代碼問題折磨過? "這個彈窗組件改一處就崩三處,到底誰寫的?" "為什麼同樣的表單驗證邏輯,每個頁面都要複製粘貼?" "狀態管理越來越亂,新增功能要改五六個地方?" "接手的項目像一團亂麻,根本不敢動核心邏輯?" 前端開發中,"能跑就行" 的代碼在初期或許能快速交付,但隨着項目迭代,維護成本會指數級增長。設計模式不是銀彈,卻

設計模式 , 前端

收藏 評論

晴空月明 - 單一職責原則(SRP)深度解析

在設計模式的七大基本原則中,單一職責原則(Single Responsibility Principle, SRP) 是最基礎也最易被忽視的原則。其核心思想是 “一個類應該只有一個引起它變化的原因”,即類的職責需高度內聚,避免因多職責耦合導致的維護災難。本文從定義解構、實踐邊界、反模式分析及面試應答策略四個維度,系統解析 SRP 的本質與應用,確保內容深度與去重性。 一、SRP 的核心定義與

設計模式

收藏 評論

eacape - 門面模式

為系統中的一組接口提供統一的接口,本意就是使用一個接口統一多個接口的功能。 門面模式可以代理多個接口,代理模式一般只代理一個接口。 比如説支付寶中完成一筆交易需要調用下單接口、入賬接口、通知接口等接口,那麼就可以是使用一個門面類對這些接口進行代理,將這些接口組合成一個接口,在餓了麼、淘寶、盒馬下單時只需要關注這一個門面類就行。

設計模式 , 設計原則 , JAVA , 面向對象設計模式 , 後端

收藏 評論

西洋無悔 - java MCP server see模式開發

1.java的設計模式可以分為3類: 創建型模式(5種):工廠模式,抽象工廠模式,建造者模式,單例模式,原型模式; 結構型模式(7種):適配器模式,裝飾器模式,代理模式,外觀模式,橋接模式,組合模式和享元模式; 行為型模式(11種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、

開閉原則 , 設計模式 , 後端開發 , JAVA , ci

收藏 評論

eacape - 訪問者模式

在類的內部結構不變的情況下,不同的訪問者訪問這個對象,都會呈現出不同的效果。 訪問者模式有以下角色 元素類:是一個抽象類或者接口,裏面會定義一個接收(accept)訪問者的抽象方法,使得每一個元素能被訪問者訪問。 具體元素:繼承或實現元素類,實現接收方法。 訪問者:一般是一個抽象類,裏面涵括了可以訪問每個具體元素的方法,使得訪問者可以訪問每個具體元素(一般有幾個具體元素就會有幾個這個樣的方

面向對象編程 , 設計模式 , JAVA , 面向對象設計模式 , 後端

收藏 評論

程序員田同學 - 設計模式之命令模式

本文通過解決老王經常搞錯借書人的問題,來引出行為型模式中的命令模式。為了在案例之上理解的更加透徹,我們需要了解命令模式在源碼中的應用。最後指出命令模式的應用場景和優缺點。 讀者可以拉取完整代碼到本地進行學習,實現代碼均測試通過後上傳到碼雲。 一、引出問題 老王的書房藏書越來越多,每天來借書的人絡繹不絕。每天有人借書、還書、老王將A借的書算到B頭上的烏龍事件頻出。老王和小王就商量着手解決這個問題。

命令模式 , 設計模式 , jdk8 , 設計模式新説

收藏 評論