1. 程式人生 > >5. 工廠方法模式

5. 工廠方法模式

抽象 oid 區別 sta tor extend strac eat 工廠

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());
		
	}
}

  

 

5. 工廠方法模式