博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java-设计模式-创建模式-工厂模式factory
阅读量:4030 次
发布时间:2019-05-24

本文共 1537 字,大约阅读时间需要 5 分钟。

java-设计模式-创建模式-工厂模式factory

一、概述
工厂模式可以分为三类:
1)简单工厂模式(Simple Factory)
2)工厂方法模式(Factory Method)
3)抽象工厂模式(Abstract Factory)
二、实例
1)简单工厂模式(Simple Factory)
public class Factory{  public static Sample creator(int which){  //getClass 产生Sample 一般可使用动态类装载装入类。  if (which==1)    return new SampleA();  else if (which==2)    return new SampleB();  }}
2)工厂方法模式(Factory Method)

/*** 创建工厂的接口* */ interface FactoryBMW {         function createBMW();  }    /** * * 创建BWM320车 */ class FactoryBWM320 implements FactoryBMW {    function  createBMW($type){       return new BWM320();    }  }   /** * * 创建BWM523车 */ class FactoryBWM523 implements FactoryBMW {    function  createBMW($type){       return new BMW523();    } }  class Customer {    private $BMW;    function  getBMW($type){       switch ($type) {         case 320:            $BWM320 = new FactoryBWM320();            return $BWM320->createBMW();         case 523:            $BWM523 = new FactoryBWM523();            return $BWM320->createBMW();             //....       }    } }
3)抽象工厂模式(Abstract Factory)

public abstract class Factory{   public abstract Sample creator();   public abstract Sample2 creator(String name); } public class SimpleFactory extends Factory{   public Sample creator(){    .........    return new SampleA  }   public Sample2 creator(String name){    .........    return new Sample2A  } } public class BombFactory extends Factory{   public Sample creator(){    ......    return new SampleB  }   public Sample2 creator(String name){    ......    return new Sample2B  } }

转载地址:http://rqqbi.baihongyu.com/

你可能感兴趣的文章
WAV文件解析
查看>>
DAC输出音乐2-解决pu pu 声
查看>>
WPF中PATH使用AI导出SVG的方法
查看>>
WPF UI&控件免费开源库
查看>>
QT打开项目提示no valid settings file could be found
查看>>
Win10+VS+ESP32环境搭建
查看>>
Ubuntu+win10远程桌面
查看>>
flutter-实现圆角带边框的view(android无效)
查看>>
flutter-实现一个下拉刷新上拉加载的列表
查看>>
android 代码实现圆角
查看>>
postman调试webservice接口
查看>>
flutter-解析json
查看>>
android中shader的使用
查看>>
java LinkedList与ArrayList迭代器遍历和for遍历对比
查看>>
Android DataBinding使用2-Recycleview
查看>>
drat中构造方法
查看>>
JavaScript的一些基础-数据类型
查看>>
JavaScript基础知识(2)
查看>>
转载一个webview开车指南以及实际项目中的使用
查看>>
关于activity保存页面状态的两个方法
查看>>