您好,登錄后才能下訂單哦!
一、 工廠模式:
1.1為什么要用工廠模式
a. 解耦 :把對象的創建和使用的過程分開。
b. 降低代碼重復: 如果創建某個對象的過程都很復雜,需要一定的代碼量,而且很多地方都要用到,那么就會有很多的重復代碼。
c. 降低維護成本 :由于創建過程都由工廠統一管理,所以發生業務邏輯變化,不需要找到所有需要創建某個對象的地方去逐個修正,只需要在工廠里修改即可,降低維護成本。
1.2 簡單工廠模式
這個就是簡單的封裝,把對象創建的邏輯封裝起來,客戶端向工廠類傳一個需要的對象的標識,工廠類根據這個標識創建對應的對象返回給客戶端。
通常,工廠類創建的對象繼承于同一個父類或者具有相同的接口。每個工廠只創建一類具體類的對象。
1.3抽象工廠模式
抽象工廠模式包括了以下類:
抽象工廠:聲明一組用于創建一族產品的方法,每個方法對應一種對象;在抽象工廠中聲明了多個工廠方法, 用于創建不同類型的對象, 抽象工廠可以是接口, 也可以是抽象類或者具體類。
具體工廠:具體工廠實現了抽象工廠,每個工廠方法返回一個具體對象,一個具體工廠所創建的具體對象構成一個族。
抽象類接口:提供一組所有類都具有的業務方法。
抽象類:用于實現抽象接口所定義的業務方法,但是該角色對于抽象接口定義的方法只做抽象實現,即所有實現都被定義為抽象方法,最終的具體實現全部交給具體類實現。引入該角色主要是為了根據聲明不同的抽象類,將類區分為不同的等級結構。
具體類:該角色繼承抽象類,主要用于實現抽象類中聲明的抽象方法,完成不同等級結構,不同族的業務方法的具體實現。
二、單例模式
單例模式(Singleton Pattern)是 Java 中最簡單的設計模式之一。這種類型的設計模式屬于創建型模式,它提供了一種創建對象的最佳方式。這種模式涉及到一個單一的類,該類負責創建自己的對象,同時確保只有單個對象被創建。這個類提供了一種訪問其唯一的對象的方式,可以直接訪問,不需要實例化該類的對象。
注意:
1、單例類只能有一個實例。
2、單例類必須自己創建自己的唯一實例。
3、單例類必須給所有其他對象提供這一實例。
意圖:保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。
主要解決:一個全局使用的類頻繁地創建與銷毀。
三、建造者模式
適用場景:一個復雜的對象可由多個類別的子對象組成,每個類別的子對象可由相似的類創建(同一個父類)。
例如,去肯德基,漢堡、可樂、薯條、炸雞翅等是不變的,而其組合是經常變化的,生成出所謂的"套餐"。一個典型的套餐可以是一個漢堡(Burger)和一杯冷飲(Cold drink)。漢堡(Burger)可以是素食漢堡(Veg Burger)或雞肉漢堡(Chicken Burger),它們是包在紙盒中。冷飲(Cold drink)可以是可口可樂(coke)或百事可樂(pepsi),它們是裝在瓶子中。
四、原型模式
似乎對于前端來說,幾乎沒有用過,一些手游引擎里面的clone方法是不是這種模式?
原型模式(Prototype Pattern)是用于創建重復的對象,同時又能保證性能。這種類型的設計模式屬于創建型模式,它提供了一種創建對象的最佳方式。
這種模式是實現了一個原型接口,該接口用于創建當前對象的克隆。當直接創建對象的代價比較大時,則采用這種模式。例如,一個對象需要在一個高代價的數據庫操作之后被創建。我們可以緩存該對象,在下一個請求時返回它的克隆,在需要的時候更新數據庫,以此來減少數據庫調用。
完。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。