1. 程式人生 > >路一步步走>> 設計模式二:FactoryMethod-工廠方法

路一步步走>> 設計模式二:FactoryMethod-工廠方法

package com.test.DPs.ChuangJian.FactoryMethod;

/**
 * 建立型:FactoryMethod-工廠方法
 */
interface food{}

class A implements food{}
class B implements food{}
class C implements food{}

public class StaticFactory{
	private StaticFactory(){}
	
	public static food getA(){return new A();}
	public static food getB(){return new B();}
	public static food getC(){return new C();}
}

/**
 * 工廠方法-FactoryMethod
 * 用途:定義一個用於建立物件的介面,讓子類決定例項化哪一個類。
 *     FactoryMethod將類的例項化延遲到子類。
 *     
 * 相對於AbstarctFactory,如果新增產品,則需改動StaticFactory類,而AF直接新增新類工廠和產品。    
 */
class Client{
	public void get(String name){
		food x = null;
		if(name.equals("A")){
			x = StaticFactory.getA();
		}else if(name.equals("B")){
			x = StaticFactory.getB();
		}else{
			x = StaticFactory.getC();
		}
	}
}