設計模式 工廠模式(簡單 靜態 抽象)

2021-09-25 13:27:11 字數 1434 閱讀 7954

工廠模式屬於設計模式中的建造者模式,它是用乙個工廠來封裝物件的建立,客戶只需要知道所需產品的具體工廠,而無須知道具體工廠的建立產品的過程,甚至不需要知道具體產品的類名。可分為以下三類:

**實現:

功能:建立傳送郵件和傳送簡訊的物件,進行傳送操作。

public inte***ce sender
public class mailsender implements sender 

}

public class smssender implements sender 

}

public class sende***ctory else if("sms".equals(type))

return null;

}}

public class testsender 

}

它是在簡單工廠模式的基礎上,對於sende***ctory類中的create方法加上了static修飾,使得在測試時,可以通過類名直接呼叫建立方法,一定程度上簡化了**。

public static sender create(string type){}
測試類做如下修改:

sender mailsender=sende***ctory.create("mail");

sender smssender =sende***ctory.create("sms");

對於簡單工廠模式和靜態工廠模式: 

public class sende***ctory 

public sender createsmssender()

public sender createwechatsender()

}}

這樣在增加新功能時,我們就只需要在sende***ctory中增加乙個方法,而不需要進入方法中去修改**,一定程度改善了簡單工廠模式。但還可以進行優化,這就引入了抽象工廠模式。

抽象工廠模式是圍繞乙個超級工廠建立其他工廠。該超級工廠又稱為其他工廠的工廠,每個生成的工廠都能按照超級工廠模式提供物件。

**實現:

public  abstract class sende***ctory
public class mailfactory extends sende***ctory 

}

public class smsfactory extends sende***ctory

}

public class testsender 

}

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

當邏輯較為簡單時,可以直接建立對應的類。如下 include using namespace std class class banana class pear intmain 通過此 可以發現,使用者直接與客戶接觸,違背了dip 依賴倒轉 原則,過於麻煩,所以引出簡單工廠模式。include us...

Java 設計模式 簡單工廠 工廠模式 抽象工廠

工廠模式,實際上也會根據業務情景不同會有不同的實現方式。一般分為3種。簡單工廠,工廠模式和抽象工廠。顧名思義,這三種從簡單到抽象,名稱越來越高大上,實現方式肯定是越來越複雜 結論1 三種工廠的實現越來越複雜 public class factory public iproduct getproduc...

php設計模式 簡單工廠(靜態工廠)模式

class factory 簡單工廠類 靜態工廠方法類 屬於 建立型模式 在簡單工廠模式中,可以根據引數的不同返回不同類的例項.簡單工廠模式專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類 class factory return new type 操作類 abstract c...