中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

設計模式-創建型

發布時間:2020-07-31 15:38:06 來源:網絡 閱讀:282 作者:firekido 欄目:游戲開發

一、 工廠模式:
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)是用于創建重復的對象,同時又能保證性能。這種類型的設計模式屬于創建型模式,它提供了一種創建對象的最佳方式。

這種模式是實現了一個原型接口,該接口用于創建當前對象的克隆。當直接創建對象的代價比較大時,則采用這種模式。例如,一個對象需要在一個高代價的數據庫操作之后被創建。我們可以緩存該對象,在下一個請求時返回它的克隆,在需要的時候更新數據庫,以此來減少數據庫調用。

完。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

酉阳| 尼勒克县| 铜鼓县| 寿宁县| 堆龙德庆县| 抚顺县| 五寨县| 类乌齐县| 哈尔滨市| 巴彦县| 河津市| 三门峡市| 伊吾县| 施秉县| 灵川县| 南平市| 定襄县| 项城市| 成都市| 吉林省| 会昌县| 八宿县| 丹寨县| 定边县| 扎鲁特旗| 廊坊市| 高碑店市| 阳原县| 汉沽区| 昌宁县| 江津市| 明溪县| 舟曲县| 永顺县| 怀仁县| 宜兰市| 许昌县| 尼玛县| 巴彦淖尔市| 贵州省| 南昌市|