设计模式之工厂方法模式

Posted fjk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之工厂方法模式相关的知识,希望对你有一定的参考价值。

设计模式之工厂方法模式

    在我们了解了简单工厂模式之后我们考虑到专业性,在日常生活中有很多鞋厂,但有的鞋厂是很专业的,

    eg:安踏,阿迪达斯,等知名品牌做专业工厂,把工厂给具体化了。 

1.抽象工厂(Creator)角色      :工厂方法模式的核心,任何工厂类都必须实现这个接口。     (CarFactory)

2.具体工厂( Concrete Creator)角色     :具体工厂类是抽象工厂的一个实现,负责实例化产品对象。  (DaZhongFactory,XianDaiFactory)

3.抽象(Product)角色       :工厂方法模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。(Car)

4.具体产品(Concrete Product)角色      :工厂方法模式所创建的具体实例对象(DaZhongCar,XianDaiCar)

在简单工厂模式的基础上把工厂模式具体化,让他们抽象出来一个接口。

    修改简单工厂模式的工厂类  修改为汽车工厂接口

  CarFactory汽车工厂类

public interface CarFactory{
    public abstract  Car getCar();
}

  大众车的工厂类

public class  DaZhongFactory  implements CarFactory{
     @Override
     public Car   getCar(){//返回大众车对象
           return  new DaZhongCar();  //获取大众车的对象  
      }    
}

  现代车的工厂类

       

public class  XianDaiFactory  implements  CarFactory{
     @Override
     public Car   getCar(){//返回大众车对象
           return  new XianDaiCar();  //获取大众车的对象  
      }    
}

  测试类:

 

public class Test01 {
	public static void main(String[] args) throws Exception {
		//获取一个大众车
		DaZhongFactory dzf=new DaZhongFactory();
		
		Car car = dzf.getCar();
		car.getCar();
	}
}

  

                                                                                                                                                                                                                                                                                      

以上是关于设计模式之工厂方法模式的主要内容,如果未能解决你的问题,请参考以下文章

工厂模式之——工厂方法模式

二十三种设计模式之:工厂方法模式

PHP设计模式—工厂模式之工厂方法模式

设计模式之工厂模式与工厂方法模式

设计模式之简单工厂模式

创建型模式之工厂方法模式实例及代码操作