工廠模式屬於建立性模式,應用的非常廣泛,提供了一種非常好的建立物件方式。
define an inte***ce for creating an object , but let subclassess decide which class to instantiate.factory method lets a class defer instantiation to subclassess .定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類。
* 抽象產品
*/public abstract class product
/*** 具體產品
*/public class concreteproduct extends product
}/**
* 抽象工廠
*/public abstract class factory
/*** 具體工廠
*/public class concretefactory extends factory
}
public static void main(string args)
如果不適用抽象工廠,使用乙個工廠類來建立不同的產品,這個就成為簡單工廠模式。
/**
* 抽象產品
*/public abstract class product
/*** 具體產品
*/public class concreteproducta extends product
}/**
* 具體產品
*/public class concreteproductb extends product
}/**
* 具體工廠
*/public class concretefactory else if ("b".equals(name))
return null;
}}public void test()
public static void main(string args)
當生產多個產品時建立多個具體的工廠類,每個工廠類生產不同的產品,這個就是多工廠模式,例項如下:
/**
* 抽象產品
*/public abstract class product
/*** 具體產品
*/public class concreteproducta extends product
}/**
* 具體產品
*/public class concreteproductb extends product
}/**
* 抽象工廠
*/public abstract class factory
/*** 具體工廠
*/public class concretefactorya extends factory
}/**
* 具體工廠
*/public class concretefactoryb extends factory
}public void test()
public static void main(string args)
工廠模式擴充套件性非常的好,遮蔽了產品類,是典型的解藕框架,符合迪公尺特法則,也符合依賴倒置原則,也符合黎克特制替換原則。
當需要靈活和可擴充套件的框架時可以考慮採用工廠方法模式。
Java 實現抽象工廠模式
抽象工廠模式 裡面有幾個概念 抽象工廠 實體工廠 抽象產品 實體產品 抽象工廠 定義建立產品的抽象方法 實體工廠 詳細的建立哪種產品 抽象產品 乙個介面或基類 實體產品 實現詳細功能,或派生 類圖 抽象產品1 public inte ce iproduct1 抽象產品2 public inte ce...
設計模式1 工廠模式 Java實現
一 應用場景 提供建立物件的介面,可以遮蔽建立物件的具體過程,提高程式 的靈活性。二 分類 工廠模式在設計模式中有三種 1.簡單工廠模式,即靜態工廠模式 factory 2.工廠方法模式 factory method 3.抽象工廠模式 abstract factory 三 具體介紹 1.簡單工廠有三...
java工廠模式
定義乙個用於建立物件的介面,我們需要乙個物件例項的時候就可以通過呼叫介面的方法來獲取我們想要的物件例項。首先,最簡單的 簡單工廠介面,可以返回例項 public inte ce factory 工廠實現類,返回money例項 public class moneyfactoryimpl impleme...