抽象工厂模式

抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。

抽象工厂模式:每个抽象工厂派生多个具体工厂,每个抽象产品派生多个具体产品。每个具体工厂创建一系列具体产品。

        例如,我们现在有两种产品A和B,而产品A和B分别都有两个厂商1和2进行生产,在这里我们把不同的厂商1、厂商2理解为牌子1和牌子2,那么厂商1就生产A1、B1,厂商2生产A2、B2。
        此时,不同的厂商肯定要生产自己的产品(如A1、B1),每个厂商都有自己的一系列产品,这就与上面抽象工厂模式的描述类似了。

 

10f798764be1daa72c9a8bbec81c831f46e.jpg

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

 

转载于:https://my.oschina.net/u/4045381/blog/3077866

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值