zoukankan      html  css  js  c++  java
  • 设计模式之工厂方法模式

    设计模式之工厂方法模式

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

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

      

                                                                                                                                                                                                                                                                                          

  • 相关阅读:
    今天才知道的JavaScript的真实历史~[转]
    JQuery实现可编辑的表格
    详细记录ASP.NET中的图象处理
    使用javascript比较任意两个日期相差天数(代码)
    你所不知的 CSS ::before 和 ::after 伪元素用法
    javascript模拟post提交
    jQuery/javascript实现IP/Mask自动联想功能
    CSS 中的强制换行和禁止换行
    17.C++-string字符串类(详解)
    16.C++-初探标准库
  • 原文地址:https://www.cnblogs.com/fjkgrbk/p/Method_Factory.html
Copyright © 2011-2022 走看看