工廠模式屬於設計模式中的建造者模式,它是用乙個工廠來封裝物件的建立,客戶只需要知道所需產品的具體工廠,而無須知道具體工廠的建立產品的過程,甚至不需要知道具體產品的類名。可分為以下三類:
**實現:
功能:建立傳送郵件和傳送簡訊的物件,進行傳送操作。
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...