一句話設計模式——快速掌握23種設計模式的核心思想(上)


這篇文章不適合深入學習設計模式,因為沒有代碼,沒有模式擴展。

正確的使用方式:1. 初學者在深入學習之前先留下一個粗略的印象。2. 已經系統學習了設計模式的人快速回顧。

簡單工廠模式

核心思想:將類的創建過程與對象的使用過程分離。

具體實現過程:定義一個工廠,根據參數(通常是字符串)的不同返回不同類的實例。因為我們希望將工廠生產的對象可以使用相同的方式處理,所以產品類類通常會實現相同的接口。

工廠方法模式

核心思想:簡單工廠基礎上,通過實例化不同的工廠,來創建不同的類。

具體實現過程:在簡單工廠的基礎上,對工廠進行抽象,將類的創建過程延遲到工廠的子類中完成。這樣做的好處是當需要新增加一個新的產品類的時候,只需要新增一個“具體的工廠”就可以,而不需要像簡單工廠一樣,修改工廠類的具體實現。符合“開閉原則”。

抽象工廠模式

核心思想:工廠方法基礎上,讓一個工廠生產一類對象。

具體實現過程:在工廠方法的基礎上,在一個具體工廠中實現生產不同產品的方法。可以達到方便生產一個“產品簇”的目的。

建造者模式

核心思想:定義一個建造過程,具體的建造放在子類當中,這樣可以使用相同的建造過程構造不同的實例。

原型模式

核心思想:使用Object類的clone方法,快速復制對象。

單例模式

核心思想:讓一個類自身持有其實例的成員變量,聲明為staticprivate,來達到系統中只有一個實例的目的。

 

具體實現過程:為了確保全系統只有一個實例,所以不可以讓用戶自己創建,所以這個類需要一個private的構造函數。還需要一個getInstance()方法用來獲得這個唯一的實例,因為需要在系統的每一處都能獲得,所以這個方法應該是public的。因為調用的getInstance()的目的是獲取實例,只能在類上面調用,所以getInstance()應該是static的。

適配器模式

核心思想:創建一個適配器類可以同時具備有現有類的行為,和期望的接口。

具體實現過程:分為兩種情況

  1. 類適配器:適配器類實現期望的接口,繼承現有的類已獲得他的行為(方法)。
  2. 對象適配器:適配器類實現期望的接口,並持有現有類的實例,通過實例調用方法。 目的都是相同的。

橋接模式

核心思想:使用組合或者聚合的方式處理抽象和實現之間的聯系,讓具體的實現在不同維度上變化

組合模式

核心思想:讓具體類和這些類的容器實現同一個接口,用戶調用到容器類時使用遞歸調用,不需要區分這兩者的區別。

外觀模式

核心思想:在外觀類內實現具體的操作,用戶只需要和外觀類打交道,屏蔽方法調用細節。

享元模式

核心思想:建一個對象池,復用需要在系統中多次出現的對象。

裝飾模式

核心思想:,裝飾器和被裝飾的對象有相同的接口,裝飾器在使用時獲得被裝飾的對象,為其增加新的操作。

具體實現過程:不論是具體的組件,和裝飾過后的組件,都希望可以用相同過的方式使用,所以實現同一個接口。裝飾類需要持有一個具體組件的實例,才能調用他的方法,所以需要一個聚合關聯。

代理模式

核心思想:代理類持有具體實現類的實例,將在代理類上的操作轉化為實例上方法的調用。

 

 

 

(原文地址:https://www.jianshu.com/p/dd2bbbbcddab 。 尊重原創,感謝作者!)

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM