设计模式(二)工厂方法 / 实例工厂

抽象产品类:

public abstract class BMW {		
}

具体产品类:

public class BMW320 extends BMW{
	public BMW320() {
		System.out.println("制造-->BMW320");
	}
}
public class BMW523 extends BMW {
	public BMW523() {
		System.out.println("制造-->BMW523");
	}
}

抽象工厂类:

public interface Factory {
	public BMW createBMW() ;
}

具体工厂类:

public class BMW320Factory implements Factory{
	@Override
	public BMW createBMW() {
		return new BMW320();
	}
}
public class BMW523Factory implements Factory{
	@Override
	public BMW createBMW() {
		return new BMW523();
	}
}

消费者:

public class Customer {
	public static void main(String[] args) {
		BMW bmw320 = new BMW320Factory().createBMW();
		BMW bmw523 = new BMW523Factory().createBMW();
		
		System.out.println(bmw320);
		System.out.println(bmw523);
	}
}

此场景的成员: 

         1) 抽象产品类:抽象类或者接口。         

         2) 具体产品类:工厂要创建的具体产品。

 

         3) 抽象工厂类:定义工厂方法。

         4) 抽象工厂类:实现工厂方法,创建具体产品。

从开闭原则来分析工厂模式。当消费者想要一种新型车,需要扩展产品类,并扩展工厂类,都符合开闭原则的。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值