初探設計模式 抽象工廠模式

2022-09-10 16:27:32 字數 1491 閱讀 8777

在簡單工廠模式的基礎上,做深層思考:

乙個介面,根據不同業務編碼,我們建了乙個工廠類來處理

如果有多個介面都是類似情況呢?有沒有辦法合併一下?

這個時候就要用到抽象工廠模式了

一、建立另乙個業務介面,並定義乙個業務實現方法
public inte***ce otherservice
二、建立實現該介面的各個實現類
public class otherserviceoneimpl implements otherservice 

}

三、為兩種介面建立抽象工廠
public abstract class abstractfactory
四、建立擴充套件了抽象工廠的工廠類
public class businessservicefactory extends abstractfactory 

switch (businesscode)

}/**

* 獲取工廠

** @param businesscode

* @return

* @throws exception

*/@override

public otherservice getotherservice(string businesscode) throws exception

}

public class otherservicefactory extends abstractfactory 

/*** 獲取工廠

* @param businesscode

* @return

* @throws exception

*/@override

public otherservice getotherservice(string businesscode) throws exception

switch (businesscode)

}}

五、建立乙個工廠創造器,通過介面型別獲取工廠
public class factoryproducer 

switch (choice)

}}

六、建立客戶端,模擬業務請求
public class abstractfactoryclient 

/*** 服務提供者

* @param choice 介面型別

* @param businesscode 業務編碼

* @throws exception

*/public static void use(string choice, string businesscode) throws exception else if (choice02.equals(choice))

}}

初探設計模式 工廠模式

pizza是超型別,cheesepizza clampizza是其子類。public abstract class pizza void box 得到乙個具體物件 pizza cheesepizza newcheesepizza 得到多個具體物件 pizza pizza if cheese pizz...

設計模式 工廠模式 抽象工廠模式

建立物件時不會對客戶暴露建立邏輯,並且通過使用乙個共同的介面來指向建立的物件。sept1 建立乙個公共介面,將要對外開放的方法在這裡定義。sept2 建立實現介面的類,用即實現對外開放的類的方法 sept3 建立工廠,提供乙個get方法,這個方法提供返回實現類的物件 建立選擇 sept4 使用,建立...

抽象工廠模式 常用設計模式 抽象工廠模式

提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。在工廠方法模式中,我們的具體建立者每次使用都只能建立乙個同型別的物件,假如我們現在需要的是多個不同型別的物件,工廠方法就滿足不了需求了。這時我們可以把多個工廠方法組合到乙個類,這就是抽象工廠模式,它就是專門用來建立多個產品,也可以說...