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

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


一、概述
工厂模式可以分为三类:
1)简单工厂模式(Simple Factory)
2)工厂方法模式(Factory Method)
3)抽象工厂模式(Abstract Factory)

二、实例
1)简单工厂模式(Simple Factory)

<span style="font-size:18px;">public class Factory{
  public static Sample creator(int which){
  //getClass 产生Sample 一般可使用动态类装载装入类。
  if (which==1)
    return new SampleA();
  else if (which==2)
    return new SampleB();
  }

}</span>

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
  }
 
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值