public interface IProduct { public void desc(); }
public class ProductA implements IProduct { public void desc(){ System.out.println(" A"); } }
public class ProductB implements IProduct { public void desc(){ System.out.println(" B"); } }
public class Factory { public static IProduct factory(String name)throws Exception{ if(name.equalsIgnoreCase("A")){ return new ProductA(); }else if(name.equalsIgnoreCase("B")){ return new ProductB(); }else{ throw new Exception("Don't support"); } } } 優點 1. 工廠創建的類實現相同的接口。便于統一創建和返回。 2. 對于不支持的類型,可以拋出異常。 缺點 1. 不支持新加類型。如果要加入新的類型。需要修改Factory類。
|