設計模式-建立型

1、 工廠模式:
1.1爲何要用工廠模式前端

a. 解耦 :把對象的建立和使用的過程分開。數據庫

b. 下降代碼重複: 若是建立某個對象的過程都很複雜,須要必定的代碼量,並且不少地方都要用到,那麼就會有不少的重複代碼。設計模式

c. 下降維護成本 :因爲建立過程都由工廠統一管理,因此發生業務邏輯變化,不須要找到全部須要建立某個對象的地方去逐個修正,只須要在工廠裏修改便可,下降維護成本。緩存

1.2 簡單工廠模式ide

這個就是簡單的封裝,把對象建立的邏輯封裝起來,客戶端向工廠類傳一個須要的對象的標識,工廠類根據這個標識建立對應的對象返回給客戶端。性能

一般,工廠類建立的對象繼承於同一個父類或者具備相同的接口。每一個工廠只建立一類具體類的對象。設計

1.3抽象工廠模式對象

抽象工廠模式包括瞭如下類:繼承

抽象工廠:聲明一組用於建立一族產品的方法,每一個方法對應一種對象;在抽象工廠中聲明瞭多個工廠方法, 用於建立不一樣類型的對象, 抽象工廠能夠是接口, 也能夠是抽象類或者具體類。接口

具體工廠:具體工廠實現了抽象工廠,每一個工廠方法返回一個具體對象,一個具體工廠所建立的具體對象構成一個族。

抽象類接口:提供一組全部類都具備的業務方法。

抽象類:用於實現抽象接口所定義的業務方法,可是該角色對於抽象接口定義的方法只作抽象實現,即全部實現都被定義爲抽象方法,最終的具體實現所有交給具體類實現。引入該角色主要是爲了根據聲明不一樣的抽象類,將類區分爲不一樣的等級結構。

具體類:該角色繼承抽象類,主要用於實現抽象類中聲明的抽象方法,完成不一樣等級結構,不一樣族的業務方法的具體實現。

2、單例模式

單例模式(Singleton Pattern)是 Java 中最簡單的設計模式之一。這種類型的設計模式屬於建立型模式,它提供了一種建立對象的最佳方式。這種模式涉及到一個單一的類,該類負責建立本身的對象,同時確保只有單個對象被建立。這個類提供了一種訪問其惟一的對象的方式,能夠直接訪問,不須要實例化該類的對象。

注意:
一、單例類只能有一個實例。
二、單例類必須本身建立本身的惟一實例。
三、單例類必須給全部其餘對象提供這一實例。
意圖:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。
主要解決:一個全局使用的類頻繁地建立與銷燬。

3、建造者模式

適用場景:一個複雜的對象可由多個類別的子對象組成,每一個類別的子對象可由類似的類建立(同一個父類)。

例如,去肯德基,漢堡、可樂、薯條、炸雞翅等是不變的,而其組合是常常變化的,生成出所謂的"套餐"。一個典型的套餐能夠是一個漢堡(Burger)和一杯冷飲(Cold drink)。漢堡(Burger)能夠是素食漢堡(Veg Burger)或雞肉漢堡(Chicken Burger),它們是包在紙盒中。冷飲(Cold drink)能夠是可口可樂(coke)或百事可樂(pepsi),它們是裝在瓶子中。

4、原型模式

彷佛對於前端來講,幾乎沒有用過,一些手遊引擎裏面的clone方法是否是這種模式?

原型模式(Prototype Pattern)是用於建立重複的對象,同時又能保證性能。這種類型的設計模式屬於建立型模式,它提供了一種建立對象的最佳方式。

這種模式是實現了一個原型接口,該接口用於建立當前對象的克隆。當直接建立對象的代價比較大時,則採用這種模式。例如,一個對象須要在一個高代價的數據庫操做以後被建立。咱們能夠緩存該對象,在下一個請求時返回它的克隆,在須要的時候更新數據庫,以此來減小數據庫調用。

完。

相關文章
相關標籤/搜索