原创 設計模式之美 - 41 | 單例模式(上):爲什麼說支持懶加載的雙重檢測不比餓漢式更優?

這系列相關博客,參考 設計模式之美 設計模式之美 - 41 | 單例模式(上):爲什麼說支持懶加載的雙重檢測不比餓漢式更優?爲什麼要使用單例?如何實現一個單例?1. 餓漢式2. 懶漢式3. 雙重檢測4. 靜態內部類5. 枚舉重點回

原创 設計模式之美 - 48 | 代理模式:代理在RPC、緩存、監控等場景中的應用

這系列相關博客,參考 設計模式之美 設計模式之美 - 48 | 代理模式:代理在RPC、緩存、監控等場景中的應用代理模式的原理解析動態代理的原理解析代理模式的應用場景重點回顧課堂討論 前面幾節,我們學習了設計模式中的創建型模式。創

原创 設計模式之美 - 54 | 享元模式(上):如何利用享元模式優化文本編輯器的內存佔用?

這系列相關博客,參考 設計模式之美 設計模式之美 - 54 | 享元模式(上):如何利用享元模式優化文本編輯器的內存佔用?享元模式原理與實現享元模式在文本編輯器中的應用享元模式 vs 單例、緩存、對象池重點回顧課堂討論 上一節課中

原创 設計模式之美 - 46 | 建造者模式:詳解構造函數、set方法、建造者模式三種對象創建方式

這系列相關博客,參考 設計模式之美 設計模式之美 - 46 | 建造者模式:詳解構造函數、set方法、建造者模式三種對象創建方式爲什麼需要建造者模式?與工廠模式有何區別?重點回顧課堂討論 上兩節課中,我們學習了工廠模式,講了工廠模

原创 設計模式之美 - 44 | 工廠模式(上):我爲什麼說沒事不要隨便用工廠模式創建對象?

這系列相關博客,參考 設計模式之美 設計模式之美 - 44 | 工廠模式(上):我爲什麼說沒事不要隨便用工廠模式創建對象?簡單工廠(Simple Factory)工廠方法(Factory Method)那什麼時候該用工廠方法模式,

原创 設計模式之美 - 43 | 單例模式(下):如何設計實現一個集羣環境下的分佈式單例模式?

這系列相關博客,參考 設計模式之美 設計模式之美 - 43 | 單例模式(下):如何設計實現一個集羣環境下的分佈式單例模式?如何理解單例模式中的唯一性?如何實現線程唯一的單例?如何實現集羣環境下的單例?如何實現一個多例模式?重點回

原创 設計模式之美 - 42 | 單例模式(中):我爲什麼不推薦使用單例模式?又有何替代方案?

這系列相關博客,參考 設計模式之美 設計模式之美 - 42 | 單例模式(中):我爲什麼不推薦使用單例模式?又有何替代方案?單例存在哪些問題?1. 單例對 OOP 特性的支持不友好2. 單例會隱藏類之間的依賴關係3. 單例對代碼的

原创 設計模式之美 - 50 | 裝飾器模式:通過剖析Java IO類庫源碼學習裝飾器模式

這系列相關博客,參考 設計模式之美 設計模式之美 - 50 | 裝飾器模式:通過剖析Java IO類庫源碼學習裝飾器模式Java IO 類的“奇怪”用法基於繼承的設計方案基於裝飾器模式的設計方案重點回顧課堂討論 上一節課我們學習了

原创 設計模式之美 - 53 | 組合模式:如何設計實現支持遞歸遍歷的文件系統目錄樹結構?

這系列相關博客,參考 設計模式之美 設計模式之美 - 53 | 組合模式:如何設計實現支持遞歸遍歷的文件系統目錄樹結構?組合模式的原理與實現組合模式的應用場景舉例重點回顧課堂討論 結構型設計模式就快要講完了,還剩下兩個不那麼常用的

原创 設計模式之美 - 45 | 工廠模式(下):如何設計實現一個Dependency Injection框架?

這系列相關博客,參考 設計模式之美 設計模式之美 - 45 | 工廠模式(下):如何設計實現一個Dependency Injection框架?工廠模式和 DI 容器有何區別?DI 容器的核心功能有哪些?配置解析對象創建生命週期管理

原创 設計模式之美 - 47 | 原型模式:如何最快速地clone一個HashMap散列表?

這系列相關博客,參考 設計模式之美 設計模式之美 - 47 | 原型模式:如何最快速地clone一個HashMap散列表?原型模式的原理與應用原型模式的實現方式:深拷貝和淺拷貝重點回顧課堂討論 對於創建型模式,前面我們已經講了單例

原创 設計模式之美 - 49 | 橋接模式:如何實現支持不同類型和渠道的消息推送系統?

這系列相關博客,參考 設計模式之美 設計模式之美 - 49 | 橋接模式:如何實現支持不同類型和渠道的消息推送系統?橋接模式的原理解析橋接模式的應用舉例重點回顧課堂討論 上一節課我們學習了第一種結構型模式:代理模式。它在不改變原始

原创 設計模式之美 - 51 | 適配器模式:代理、適配器、橋接、裝飾,這四個模式有何區別?

這系列相關博客,參考 設計模式之美 設計模式之美 - 51 | 適配器模式:代理、適配器、橋接、裝飾,這四個模式有何區別?適配器模式的原理與實現適配器模式應用場景總結1. 封裝有缺陷的接口設計2. 統一多個類的接口設計3. 替換依

原创 設計模式之美 - 55 | 享元模式(下):剖析享元模式在Java Integer、String中的應用

這系列相關博客,參考 設計模式之美 設計模式之美 - 55 | 享元模式(下):剖析享元模式在Java Integer、String中的應用享元模式在 Java Integer 中的應用享元模式在 Java String 中的應用

原创 設計模式之美 - 52 | 門面模式:如何設計合理的接口粒度以兼顧接口的易用性和通用性?

這系列相關博客,參考 設計模式之美 設計模式之美 - 52 | 門面模式:如何設計合理的接口粒度以兼顧接口的易用性和通用性?門面模式的原理與實現門面模式的應用場景舉例重點回顧課堂討論 前面我們已經學習了代理模式、橋接模式、裝飾器模