设计模式学习之——Factory工厂模式

工厂模式:工厂模式是为了更加轻松的构建对象,而不用关注在构建的细节与过程,通过工厂类进行构建

工厂设计模式:通常创建一个对象或是实例,都是通过new的方式,通常都是使用者直接创建或是获取的,工厂设计模式就是增加一个工厂类,通过不通的具体工厂类创建不同的产品,也就是创建满足不同要求的实例或对象。

工厂模块划分:

(1)抽象工厂模块:这是工厂设计模式的核心,与具体的业务逻辑无关。是具体工厂角色必须实现的接口或必须继承的父类,通常由抽象类和接口充当抽象工厂模块。

(2)具体工厂模块:包含具体的业务逻
辑代码。不通的具体工厂负责创建不同的产品。

(3)抽象产品模块:抽象产品模块是具体产品模块必须实现的接口或必须继承的类,通常由抽象类或是接口充当。

(4)具体产品模块:具体工厂创建的产品就是该角色的实例,在java中通常都是具体的类来

产品类
public interface ProductInf {
    public void BMW();
}
public class ProductClas320 implements ProductInf{
	@Override
	public void BMW() {
		System.out.println("创建320");
		
	}
}
public class ProductClas530 implements ProductInf {
	@Override
	public void BMW() {
		System.out.println("创建520");

	}
}
 
工厂类
public interface FactoryInf {
    public ProductInf CreateBMW();
}
public class FactoryClas320 implements FactoryInf {
	@Override
	public ProductInf CreateBMW() {
		ProductInf product = new ProductClas320();
		System.out.println("320 is Create");
		return product;
	}
}
public class FactoryClas530 implements FactoryInf{
	@Override
	public ProductInf CreateBMW() {
		ProductInf bmw530 = new ProductClas530();
		System.out.println("530 is Create");
		return bmw530;
		
	}
}
测试类
public class CustomerTest {
	public static void main(String[] args) {
		//调用不通的工厂类、生成不通的产品,
		//320生成的产品
		FactoryInf fac320 = new FactoryClas320();
		fac320.CreateBMW();
		FactoryInf fac530 = new FactoryClas530();
		fac530.CreateBMW();
	}
}                      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值