抽象工廠模式

抽象工廠模式:提供一個接口,用於建立相關或依賴對象的家族,而不須要明確指定具體類。java

抽象工廠模式:每一個抽象工廠派生多個具體工廠,每一個抽象產品派生多個具體產品。每一個具體工廠建立一系列具體產品。ide

        例如,咱們如今有兩種產品A和B,而產品A和B分別都有兩個廠商1和2進行生產,在這裏咱們把不一樣的廠商一、廠商2理解爲牌子1和牌子2,那麼廠商1就生產A一、B1,廠商2生產A二、B2。
        此時,不一樣的廠商確定要生產本身的產品(如A一、B1),每一個廠商都有本身的一系列產品,這就與上面抽象工廠模式的描述相似了。

 

public interface  AbstractFactory {

	public  AbstractProductA createProductA();
	public  AbstractProductB createProductB();
}
public class ConcreteFactory1 implements AbstractFactory{

	@Override
	public AbstractProductA createProductA() {
		return new ProductA1();
	}

	@Override
	public AbstractProductB createProductB() {
		// TODO Auto-generated method stub
		return new ProductB1();
	}

}
public class ConcreteFactory2 implements AbstractFactory{

	@Override
	public AbstractProductA createProductA() {
		return new ProductA2();
	}

	@Override
	public AbstractProductB createProductB() {
		// TODO Auto-generated method stub
		return new ProductB2();
	}

}
public interface AbstractProductA {

}
public interface AbstractProductB {

}
public class ProductA1 implements AbstractProductA {

}
public class ProductA2 implements AbstractProductA {

}
public class ProductB1 implements AbstractProductB{

}
public class ProductB2 implements AbstractProductB{

}
public class Client {

	public static void main(String []args){
		AbstractFactory Factory1 = new ConcreteFactory1();
		Factory1.createProductA();
		Factory1.createProductB();
	}
}
相關文章
相關標籤/搜索