淵渟嶽 -
掌握設計模式--中介者模式
中介者模式(Mediator Pattern)
中介者模式(Mediator Pattern)是一種行為型設計模式,它通過引入一箇中介者對象,來減少多個對象之間的直接依賴,使對象之間的通信變得鬆耦合。對象不直接相互引用,而是通過中介者與其他對象交互。這有助於提高系統的可維護性和擴展性。
核心思想: 將對象間複雜的依賴關係抽象到中介者中,從而使對象之間的依賴關係變得簡單。
主要組成部分
中介者接
設計模式
淵渟嶽 -
掌握設計模式--狀態模式
狀態模式(State Pattern)
狀態模式(State Pattern)是一種行為設計模式,它允許對象在其內部狀態改變時改變其行為,看起來像是改變了其類。這種模式通常用於解決對象在運行時狀態多變且行為複雜的問題。
核心思想:將狀態與行為綁定,每種狀態對應一個具體類有獨立的行為邏輯,狀態的切換隻需更換狀態對象,並且狀態流轉在行為邏輯中完成。
主要組成部分
Context(上下文):
設計模式
淵渟嶽 -
掌握設計模式--解釋器模式
解釋器模式(Interpreter Pattern)
解釋器模式(Interpreter Pattern)是一種行為型設計模式,用於定義一種語言的文法表示,並提供一個解釋器來解釋該語言中的句子。這種模式通常用於開發需要解析、解釋和執行特定語言或表達式的應用程序。
主要目的是為特定類型的問題定義一種語言,然後用該語言的解釋器來解決問題。
主要組成部分
解釋器模式的結構通常包括以下幾個部分:
設計模式
淵渟嶽 -
學了設計模式,卻不知道怎麼選擇?
本人主要講述設計模式怎麼去選擇,這僅僅是不知從何下手提供一個抓手的東西,並不是銀彈。常想、多用,積累經驗後,方可靈活運用,做到無模式勝有模式,才可能會在複雜場景中,設計出高質量的系統。
設計模式的選擇是一個從問題到解決方案的遞進過程。通過明確問題類型、分析目標特性、遵循設計原則以及結合場景需求,可以高效地篩選出最佳設計模式,從而達到優化系統設計,提升代碼質量和可維護性。設計模式不僅是一種工具,更是
設計模式
淵渟嶽 -
為什麼學習設計模式?
1. 學習設計模式的意義:讓代碼更優雅,讓開發更從容
設計模式的學習常常被貼上“枯燥”“抽象”的標籤,但它更像一本軟件開發的“烹飪食譜”——不是要求你死記硬背,而是教會你如何用更巧妙的方式組合代碼的“食材”,最終做出一道既美味(功能完善)又美觀(易於維護)的“佳餚”。以下是它的核心價值與意義:
1.1. 像搭積木一樣寫代碼
想象一下,你在開發一個電商系統:
當需要管理全局唯一的購物車實例時,
設計模式
淵渟嶽 -
分享個人設計模式筆記文檔:《掌握設計模式:23種經典模式實踐、選擇、價值與思想》
本文主要分享我的設計模式筆記PDF文檔:《掌握設計模式:23種經典模式實踐、選擇、價值與思想》
這只是設計模式的秘籍1:《掌握設計模式:23種經典模式實踐、選擇、價值與思想》
後續還會分享練手項目秘籍2:設計模式實戰項目--markdown文本編輯器軟件開發(開放所有源代碼)
前言
為什麼要寫這份資料?
為了更方便閲讀和學習設計模式,我將之前發的所有有關設計模式的文章彙
設計模式
淵渟嶽 -
markdown文本編輯器--核心功能(解析和渲染)
🙌開源項目地址
🌍 GitHub 開源地址(YtyMark-java)
歡迎提交 PR、Issue、Star ⭐️!
1. 簡述
YtyMark-java項目分為兩大模塊:
UI界面(ytyedit-mark)
markdown文本解析和渲染(ytymark)
本文主要內容為核心模塊--markdown文本解析和渲染。
關於markdown文本解析器怎麼設計,
設計模式
淵渟嶽 -
學習設計模式找不到練手的實戰項目?項目已開源
手寫解析器、渲染器、主題樣式、自定義彈窗和精細的撤銷/恢復機制等。
📌整體總結
YtyMark-java 項目,從用户輸入到用户查看到實時渲染結果的全過程
監聽文本區域內容是否發生變化
解析和渲染:“原始文本的塊裁剪”→“塊級元素解析” → “行內元素解析” → “渲染” 四大階段
將渲染結果重新刷新展示出來
從UI界面到核心的解析渲染,通過一系列
設計模式
淵渟嶽 -
學習設計模式有這兩就夠了:手冊+實戰項目
歷經一年時間,設計模式手冊和練手項目已全部編寫完成
秘籍1設計模式手冊:《掌握設計模式:23種經典模式實踐、選擇、價值與思想》
秘籍2練手項目:設計模式實戰項目--markdown文本編輯器軟件開發(已開源)
📝秘籍1 設計模式手冊
該手冊將為你回答:
什麼是設計模式?
怎麼學習設計模式
為什麼學了設計模式卻用不上?
設計模式在開發流程中如何
設計模式