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