package com.alan.factory;
/**
*
* @author Alan
* @Created at 2013-7-31 下午11:43:46
* @ClaaName AbstractFactory
* @Description
*/
//car interface
interface Car{
}
//宝马车类
class BaoMaCar implements Car{
public BaoMaCar(){
System.out.println("create baomaCar...");
}
}
//奥迪车类
class AoDiCar implements Car{
public AoDiCar(){
System.out.println("create audiCar...");
}
}
//丰田车类
class FengTianCar implements Car{
public FengTianCar(){
System.out.println("create fengtianCar...");
}
}
//抽象工厂
interface Factory{
Car createCar() ;
}
//创建宝马车的工厂
class CreateBaoMaFactory implements Factory{
@Override
public Car createCar() {
return new BaoMaCar();
}
}
//创建奥迪车的工厂
class CreateAoDiFactory implements Factory{
@Override
public Car createCar() {
// TODO Auto-generated method stub
return new AoDiCar();
}
}
//创建丰田车的工厂
class FengTianFactory implements Factory{
@Override
public Car createCar() {
// TODO Auto-generated method stub
return new FengTianCar();
}
}
/*
* 抽象工程方法可以很好的提高程序的可扩展性,如果想创建其他汽车,只要创建一个这个汽车的类,
* 并创建这个汽车的对应的工厂就可以了,无需对原有的代码做修改
*/
public class AbstractFactory {
}
设计模式之工厂模式
最新推荐文章于 2015-04-21 00:32:30 发布