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


    设计模式之工厂方法模式

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

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

      

                                                                                                                                                                                                                                                                                          

  • 相关阅读:
    Python入门篇-解析式、生成器
    使用Kerberos进行Hadoop认证
    Python标准库-datatime和time
    使用Cloudera Manager部署HUE
    使用Cloudera Manager部署oozie
    使用Cloudera Manager部署Spark服务
    HDFS重启集群导致数据损坏,使用fsck命令修复过程
    关系型数据的收集
    使用Cloudera Manager搭建Kudu环境
    分布式结构化存储系统-Kudu简介
  • 原文地址:https://www.cnblogs.com/fjkgrbk/p/Method_Factory.html
Copyright © 2020-2023  润新知