java 工廠模式實現例項
阿新 • • 發佈:2020-12-30
工廠模式的作用:
1、工廠模式是為了解耦,把物件的建立和使用的過程分開
2、建立物件過程統一管理
實現例項(工廠生產產品):
1、工廠介面:
package design.pattern.factory;
/**
* 產品工廠介面
*/
public interface BaseProductFactory {
BaseProduct createProduct();
}
2、產品基類
package design.pattern.factory; /** * 產品基類 */ public abstract class BaseProduct { public abstract void show(); }
3、產品A
package design.pattern.factory;
/**
* 產品A
*/
public class ProductA extends BaseProduct{
public void show() {
System.out.println("這是產品A");
}
}
4、產品B
package design.pattern.factory; /** * 產品B */ public class ProductB extends BaseProduct{ public void show() { System.out.println("這是產品B"); } }
5、產品A的工廠
package design.pattern.factory;
/**
* 產品A的工廠類
*/
public class ProductAFactory implements BaseProductFactory {
public BaseProduct createProduct() {
return new ProductA();
}
}
6、產品B的工廠
package design.pattern.factory; /** * 產品B的工廠類 */ public class ProductBFactory implements BaseProductFactory { public BaseProduct createProduct() { return new ProductB(); } }
7、測試型別
package design.pattern.factory;
/**
* 測試工廠模式
*/
public class TestFactory {
public static void main(String[] args) {
BaseProduct productA = getProduct("A");
productA.show();
BaseProduct productB = getProduct("B");
productB.show();
}
private static BaseProduct getProduct(String productType) {
BaseProductFactory productFactory;
if ("A".equals(productType)) {
productFactory = new ProductAFactory();
} else {
productFactory = new ProductBFactory();
}
return productFactory.createProduct();
}
}
執行結果: