91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

設計模式之工廠模式一簡單工廠模式

發布時間:2020-08-10 22:31:29 來源:網絡 閱讀:471 作者:凱哥Java 欄目:編程語言

設計模式之工廠模式一簡單工廠模式

設計模式之工廠模式一簡單工廠模式

工廠模式由來:

在我們創建對象的時候使用,使用new操作的。如果多個對象創建都使用new會。所以工廠模式就是用來代理new操作的一種模式。根據工廠模式由來,我們可以看出工廠模式屬于創建型模式。提供一種創建對象的最佳方式。

來源:凱哥Java(kaigejava)

工廠模式主要的分類:

設計模式之工廠模式一簡單工廠模式

簡單工廠模式、工廠方法模式、抽象工廠模式

簡單工廠模式:

簡單工廠模式不屬于23中設計模式。又叫做靜態工廠方法,簡單工廠模式是工廠模式家族中最簡單使用的一種模式。也可以理解為不同工廠模式的一個特殊實現。

如何理解?

舉例:一個工廠類,一個產品的抽象類。

現實生活舉例:一個面館,可以生產多中面條。

如:面館里面可以做的西紅柿雞蛋面、牛肉拉面、刀削面、哨子面、biangbiang面及熱干面。

我們就來模擬這種場景:

我們先來看項目結構:

設計模式之工廠模式一簡單工廠模式


說明:

1:面條接口類

2:具體面條實現類

3:簡單工廠類(面館對象)

4:測試類型

我們先來看看面條接口類:

INoodlesInterface

設計模式之工廠模式一簡單工廠模式

我們在來看看,面條具體實現類--西紅柿雞蛋面類對象里面:

public class?TomatoAndEggNoodles?implements?INoodlesInterface {

? ?private?String?noodlesName;

? ?public?TomatoAndEggNoodles(){}

? ?public?TomatoAndEggNoodles(String noodlesName){

? ? ? ?this.noodlesName?= noodlesName;

? ?}

? ?@Override

? ?public void?noodlesdescription() {

? ? ? ?System.out.println("大爺,您的"+this.noodlesName+"價格為:10元。");

? ?}

}

設計模式之工廠模式一簡單工廠模式

其他具體面條實現類里面類似。這里就不一一貼出來了。

我們來看看面館對象:

設計模式之工廠模式一簡單工廠模式

里面由三部分:

菜單部分、根據菜單序號制作面條、根據面條名稱制作面條。

我們來看看根據菜單序號制作面條的:

public ?static?INoodlesInterface makeNoodlesByMenuType(int?noodletType){

? ?switch?(noodletType){

? ? ? ?case?NOODLES_TYPE_1:

? ? ? ? ? ?return new?TomatoAndEggNoodles("西紅柿雞蛋面");

? ? ? ?case?NOODLES_TYPE_2:

? ? ? ? ? ?return new?HandPulledNoodleSoupWithBeef("牛肉拉面");

? ? ? ?case?NOODLES_TYPE_3:

? ? ? ? ? ?return new?HandPulledNoodleSoupWithBeef("刀削面");

? ? ? ?case?NOODLES_TYPE_4:

? ? ? ? ? ?return new?NoodleWithPork("哨子面");

? ? ? ?case?NOODLES_TYPE_5:

? ? ? ? ? ?return ?new?BiangBiangNoodles("biangbiang面");

? ? ? ?case?NOODLES_TYPE_6:

? ? ? ? ? ?return new?HotAndDryNoodles("熱干面");

? ? ? ?default:

? ? ? ? ? ?return ?new?HotAndDryNoodles("熱干面");

? ?}

}

設計模式之工廠模式一簡單工廠模式

另一個方法類似。

查看測試類:

設計模式之工廠模式一簡單工廠模式

查看運行結果:

設計模式之工廠模式一簡單工廠模式

運行結果,達到我們預期的。

現在我們來總結下簡單工廠模式:

簡單工廠模式幾個角色:

設計模式之工廠模式一簡單工廠模式

1:共有的抽象父類或者接口。如:司小司面館的面條接口對象

2:繼承或是實現該接口的具體子類。如:西紅柿雞蛋面、biangbiang面等

3:創建對象的簡單工廠類。如:司小司的面館

觸發事件:

設計模式之工廠模式一簡單工廠模式

通過菜單的序號或者是面條名稱觸發工廠類制作對象的。

在來看看簡單工廠模式特點:

設計模式之工廠模式一簡單工廠模式

通過一個類。是具體的類,并非接口或者抽象類的一個重要的創建方法,利用if判斷語句說著是switch語句來進行判斷,進而創建對應的產品。

聯系凱哥--》凱哥Java(kaigejava)

個人博客:www.kaigejava.com

其中,這個重要的創建方法通常都是靜態的。所以,簡單工廠模式也被稱之為靜態工廠.



向AI問一下細節

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

AI

扶风县| 上思县| 平昌县| 永胜县| 麻江县| 柘城县| 竹北市| 韶关市| 河东区| 莒南县| 密云县| 通州市| 垫江县| 包头市| 长岛县| 雷州市| 唐河县| 开阳县| 昂仁县| 湄潭县| 万源市| 阆中市| 内黄县| 资溪县| 长春市| 黔西| 桂平市| 鄄城县| 朝阳县| 平罗县| 华坪县| 漳平市| 原平市| 衡阳县| 武安市| 胶南市| 班玛县| 阿拉善盟| 保靖县| 苗栗县| 屏东市|