設計模式之(三) 工廠方法模式

2021-06-28 12:17:25 字數 1684 閱讀 5996

女媧補天的故事大家都聽過吧,這個故事是說,女媧在補了天後,下到凡間一看,哇塞,風景太優美了,天空是湛

藍的,水是清澈的,空氣是清新的,太美麗了,然後就待時間長了就有點寂寞了,沒有動物,這些看的到

都是靜態的東西呀,怎麼辦?

別忘了是神仙呀,沒有辦不到的事情,於是女媧就架起了八卦爐(技術術語:建立工廠)開始建立人,

具體過程是這樣的:先是泥巴捏,然後放八卦爐裡烤,再扔到地上成長,但是意外總是會產生的:

第一次烤泥人,茲茲茲茲~~,感覺應該熟了,往地上一扔,biu~,乙個白人誕生了,沒烤熟!

第二次烤泥人,茲茲茲茲茲茲茲茲~~,上次都沒烤熟,這次多烤會兒,往地上一扔,嘿,熟過頭了,

黑人哪!

第三次烤泥人,茲~茲~茲~,一邊烤一邊看著,嘿,正正好,perfect!優品,黃色人類! 【備註:rb 人

不屬此列】

那這個過程我們就用程式來表現,首先定義乙個人類的總稱:

package com.fc.factory;

/** * 人類

* @author fc

* */

public inte***ce human

然後定義具體的人,黃種人,白人,黑人:

package com.fc.factory;

public class yellowhuman implements human

public void talk()

}

package com.fc.factory;

public class whitehuman implements human

public void talk()

}

package com.fc.factory;

public class blackhuman implements human

public void talk()

}

人類也定義完畢了,那我們把八卦爐(用於生產人)定義出來:

package com.fc.factory;

public class humanfactory catch (instantiationexception e) catch (illegalacces***ception e) catch (classnotfoundexception e)

return human; }

}

然後女媧來了,這可是真正的女神啊:

package com.fc.factory;

public class nvwa

}

好了我們再來看一下輸出結果:

------------造出的第一批人是這樣的:白人-----------------

白人在笑,哈哈哈

白人在講話

------------造出的第二批人是這樣的:黑人-----------------

黑人在笑,哈哈哈

黑人在講話

------------造出的第三批人是這樣的:黃色人類 -----------------

黃種人在笑,哈哈哈

黃種人在講話

設計模式之三 工廠方法模式

前言 工廠方法模式 定義乙個用於建立物件的介面,讓子類決定例項化那乙個類。工廠方法使乙個類的例項化延遲到其子類。簡單工廠模式 的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。工廠方法模式實現時,客戶端需要決定例項化那乙個工廠...

設計模式(三) 工廠方法模式

在設計模式 簡單工廠模式文章中介紹了簡單工廠模式,通過乙個例子講述了如何使用簡單工廠模式。同時也留下了乙個問題,那就是簡單工廠模式破壞了開放 封閉原則。那麼本文將介紹另外一種設計模式 工廠方法模式。主要介紹其概念 用途 實現方式 以及優缺點等。工廠方法模式 factory method patter...

設計模式(三) 工廠方法模式

工廠模式一般分為三種 簡單工廠,工廠方法,抽象工廠 簡單工廠 簡單工廠模式又叫靜態工廠方法模式,是通過專門定義乙個類負責建立其他類的例項,被建立的例項通常都具有共同的父類。簡單工廠將物件的建立過程進行了封裝,使用者不需要知道具體的建立過程,只需要呼叫工廠類獲取物件即可。工廠類的寫法是通過switch...