1.抽象產品類 2.抽象工廠類 3.具體產品類 4.具體工廠類 5.客戶程式 6.應用 ...
1.抽象產品類
public abstract class AbstractProduct { }
2.抽象工廠類
public abstract class AbstractFactory { public abstract AbstractProduct createProduct(); }
3.具體產品類
public class Product extends AbstractProduct { }
4.具體工廠類
public class Factory extends AbstractFactory { @Override public AbstractProduct createProduct() { // TODO Auto-generated method stub return new Product(); } }
5.客戶程式
public class Client { //工廠方法,與抽象工廠的最主要區別可能就在此,單個對象的維度 public AbstractProduct getProduct(AbstractFactory factory){ return factory.createProduct(); } }
6.應用
public class App { public static void main(String[] args) { Client client=new Client(); AbstractProduct product = client.getProduct(new Factory()); } }