工廠方法模式,即定義乙個用於建立物件的介面,讓子類決定例項化哪個類。
//定義抽象產品類
public abstract class product
//定義具體產品類
public class conproduct extends product
}//定義抽象工廠類
public abstract class factory
//具體工廠類
public class confactory extends factorycatch(exception e)
return (t)product;
}}
工廠方法模式封裝良好,結構清晰,易於擴充套件。是典型的解耦框架,高層模組只需要知道產品的抽象類,符合迪公尺特法則和依賴倒置原則,只依賴產品類的抽象,也符合黎克特制替換原則。
工廠方法模式擴充套件
延遲初始化是工廠方法模式的乙個擴充套件,物件建立後在類內儲存引用,在下次建立物件時查詢類內是否存在,有則直接取出返回
簡單工廠模式****** factory pattern,去除抽象工廠類,將生產函式設為static。
多工廠模式,每個具體產品對應乙個共產類,類職責清晰,結構簡單,但增加了擴充套件難度。替代單例模式,符合單一職責原則
public class singleton
public class singletonfactorycatch(exception e)
} public static singleton getsingleton()
}
設計模式 3 工廠方法模式
1.意圖 定義乙個用於建立物件的的介面,讓子類決定例項化哪乙個類.2.適用性 當乙個類不知道它必須所建立的物件的類的時候。當乙個類希望由它的子類來指定它所建立的物件的時候。3.抽象工廠和工廠方法的區別 抽象工廠 模式依賴於 工廠方法 模式的。因此,抽象工廠強調的是前面的動詞 抽象 也就是說,你將工廠...
設計模式 3 工廠方法模式
定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使得乙個類的例項化延遲到了其子類。抽象工廠介面,用於建立計算物件 public inte ce ifactory 抽象計算介面,表示用於實現的業務 public inte ce calculate 具體工廠類,實現抽象工廠介面,返回...
設計模式(3)工廠方法模式
簡單工廠設計模式的思路,決定了每次新增一種具體的產品時,就需要更改工廠內部的產品構成。因為開閉原則,決定了對外開放介面,對內封閉的思路,工廠方法設計模式,不在使用工廠類統一建立所有的具體產品,不同工廠針對不同的產品,新增產品時,需要同時新增對應的工廠。工廠方法模式 定義乙個用於建立物件的介面,但是讓...