工廠設計模式

2021-09-25 08:10:41 字數 1181 閱讀 8590

簡單工廠模式

在建立乙個物件時不向客戶暴露內部細節,並提供乙個建立物件的通用介面。

簡單工廠把例項化的操作單獨放到乙個類中,這個類就成為簡單工廠類,讓簡單工廠類來決定應該用哪個具體子類來例項化。

這樣做能把客戶類和具體子類的實現解耦,客戶類不再需要知道有哪些子類以及應當例項化哪個子類。客戶類往往有多個,如果不使用簡單工廠,那麼所有的客戶類都要知道所有子類的細節。而且一旦子類發生改變,例如增加子類,那麼所有的客戶類都要進行修改。

簡記: 乙個工廠介面,乙個工廠類,多個具體商品類

public

inte***ce

computer

public

class

implements

computer

}

public

class

macbook

implements

computer

}

public

class

compute***ctory

else

if(name.

equals

("macbook"))

return instance;

}}

缺點:多個不同的商品,在同乙個工廠中,相互之間存在細節暴露的問題。

工廠方法設計模式

改進簡單工廠的缺點,提供多個工廠類,遮蔽不同商品間的細節。

public

abstract

class

compute***ctory

public

class

extends

compute***ctory

}

public

class

maxfactory

extends

compute***ctory

}

抽象工廠設計模式

提供乙個介面,用於建立 相關的物件家族 。本質上和工廠方法設計模式一樣,可以理解為此時同一牌子的電腦有很多態號。然後每次建立物件的時候,都可以建立同一牌子的不同型號的多個電腦。

設計模式 工廠設計模式

用於建立物件的介面,交給子類去實現 我們舉乙個生產nokia的例子 public abstract class nokiaphone先試定義了乙個抽象類,抽象出方法poweronphone 模擬手機開機的動作 public class nokia5200 extends nokiaphone pub...

設計模式 工廠設計模式

工廠模式分為工廠方法模式和抽象工廠模式 工廠方法模式分為 普通工廠模式,就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。多個工廠方法模式,是對普通工廠方法模式的改進,在普通工廠方法模式中,如果傳遞的字串出錯,則不能正確建立物件,而多個工廠方法模式是提供多個工廠方法,分別建立物件。靜態工廠...

設計模式 工廠模式(簡單工廠)

一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...