抽象工厂模式(Absraact Factory)介绍与实现
創建一個IProduct,后面模擬業務時要用到
package com.xiawei.factory;
public class IProduct {
private String productNo = "";
}
=====================================================
package com.xiawei.factory;
/**
* 規范工廠接口 </p>
*/
//創建一個所有工廠的規范接口,后面所有的工廠類都要來實現這個接口,并且要實現其方法.
//這樣只需向用戶提供這個工廠接口就行.
public interface StandardFactory {
public IProduct createProduct(String productNo);
}
======================================================
package com.xiawei.factory;
//定義具體工廠A類
public class ProductFactoryA implements StandardFactory{
@Override
public IProduct createProduct(String productNo) {
//模擬工廠1生成產品對象規則
IProduct product = new IProduct();
return product;
}
}
======================================================
package com.xiawei.factory;
//定義具體工廠B類
public class ProductFactoryB implements StandardFactory{
@Override
public IProduct createProduct(String productNo) {
//模擬工廠B生它的產品對象規則
IProduct product = new IProduct();
return product;
}
}
=================================================
package com.xiawei.factory;
//其實所謂抽象工廠,就是在普通工廠類外面套上了一層可選擇的工廠類
//在這之前給他們規定一個統一的接口,然后讓所有的工廠類都出實現它
//并實現它的接方法
/**
* 創建抽象工廠類 </p>
* 這個工廠類不具體指定返回的工廠對象,條件滿足那個就返回那個對象
*/
public class ProductFactory implements StandardFactory{
@Override
public IProduct createProduct(String productNo) {
//獲取產品編號
char chr = productNo.charAt(0);
//定義一個規范工廠類型的變量
StandardFactory factory = null;
//提供產品編號,判斷需要獲取那個具體工廠對象
if(chr == '1'){
factory = new ProductFactoryA();
}else if(chr == '2'){
factory = new ProductFactoryB();
}
if(factory != null){
return factory.createProduct(productNo);
}
return null;
}
}
轉載于:https://www.cnblogs.com/xiaweicn/p/8684161.html
總結
以上是生活随笔為你收集整理的抽象工厂模式(Absraact Factory)介绍与实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 精通Java设计模式从初见到相爱之工厂+
- 下一篇: weui-react项目实战新心得