為了提高程式可維護性、可擴充套件性、可復用性、靈活性,可以在其中加入設計模式,設計模式有23種,這些設計模式可以分為三大類:建立型模式、結構型模式、行為型模式。下面就分別介紹一下這些設計模式的基本結構、使用的好處以及使用場合
建立型模式有抽象工廠模式、建造者模式、工廠方法、原型模式、單例模式。
抽象工廠模式:
這個設計模式客戶端只與抽象工廠以及抽象產品打交道,而與具體的實現是隔離的,主要用在可能變更的地方,比如更換資料庫。當需要不同型別的產品的話直接新增乙個工廠和產生的產品即可。
建造者模式:
這個設計模式主要用於構造乙個產品時,使所有的產品都有一些必須的部件,抽象建造者中定義了抽象的建造方法,具體的建造者繼承抽象建造者時就必須實現抽象建造者中的所有組裝方法,由於建造者隱藏了產品是如何組裝的,所有如果想要改變乙個產品的內部組裝,只需要再定義乙個具體建造者就可以了。
工廠方法模式:
工廠方法模式定義了乙個用於建立物件的介面(抽象工廠類),讓子類決定例項化那個類,它使乙個類的例項化延遲到其子類(具體工廠)。它與抽象工廠模式的區別是:抽象工廠模式中的具體工廠用於生產乙個品牌的所有產品,而工廠方法模式中的具體工廠用於生產具有相同功能的一類產品。
原型模式:
當建立多個類似的物件時就可以用原型模式,原型模式的關鍵點就在於clone()方法,它使得相同的物件或類似的物件可以直接clone,對於與原來物件不同的屬性可以重新定義,但是大體上還是不會變的,如果更改的很多的話就要考慮是不是這個設計模式用的不恰當。用這個設計模式隱藏了物件的建立細節,而且不用重新初始化物件,對效能又是乙個大的提高。
單例模式:
這個模式是我認為最簡單的乙個模式,之所以這麼說是因為它簡單到都不用畫圖來表示(開玩笑啦~~),這個類只有一點:就是保證乙個類只有乙個例項,並且提供乙個訪問它的全域性訪問點。那怎樣才能做到這一點呢?辦法就是讓類自身儲存它的唯一例項,這個類可以保證沒有其他例項可以被建立,並且它可以提供乙個訪問該例項的方法。也就是說這個類中的構造方法設定為私有,不讓外界利用new建立該類的例項,然後編寫乙個靜態方法,這個方法保證這個類只有乙個例項(如果例項不存在就建立乙個例項,然後就返回例項)。
建立型模式 原型模式
使用原型例項指定建立物件的種類,並且通過轉殖這些原型建立新的物件 原理是將乙個原型物件傳給要發動建立的物件,該物件通過請求原型物件轉殖自己來建立過程 轉殖方法 public prototype clone jdk中為我們提供了轉殖的方法clone 從object繼承下來,乙個物件要實現轉殖,需要實現...
建立型模式 原型模式
原型 prototype 模式主要用於建立物件的轉殖,通常其最簡單的形式就是採用自定 clone 函式並 傳入物件引數以返回此物件的乙個副本,這在 python 實作上可使用內定 copy.cop y 或 copy.deepcopy 函式來達到此目的。當已有乙個物件但對此物件的某些部分會被變更卻又想...
原型模式 建立型模式
文章首發個人部落格 如果我們有乙個類 sheep 它裡面有兩個屬性,名稱 name 年齡 age 現在我們有乙個它的例項 s1 我們需要按照這個例項的屬性再去建立兩個物件。1 sheep data public class sheep 2 main public class main 原型模式 用原...