設計模式 | 使用場景 | 濃縮一句話偽代碼 | 學習難度 |
---|---|---|---|
模板方法模式 | 規定好一套順序執行的方法 | abstract class {final void func{} } | ⭐️ |
觀察者模式 | 監聽對象發生了改變 | setMsg{ myNotifyAll()} | ⭐️ ⭐️ ⭐️ |
代理模式模式 | 需要做出統一處理的時候(java 分為四種 靜態 jdk CGLIB Javassit) | implements InvocationHandler | ⭐️ ⭐️ ⭐️ |
享元模式 | 防止同一個類 實例化相同的對象 | xxxMap.get(); | ⭐️ |
策略模式 | 實際上就是利用多態 傳入什么對象 就使用什么方法 | Context(IStrategy strategy) | ⭐️ ⭐️ |
單例模式 | 不解釋 注意懶漢式 線程不安全 | 注意:雙檢鎖/雙重校驗鎖 DCL | ⭐️ ⭐️ |
工廠模式 | 不解釋 注意懶漢式 線程不安全 | 注意:雙檢鎖/雙重校驗鎖 DCL | ⭐️ ⭐️ |
https://blog.csdn.net/qq_49313444/article/details/107287544 工廠