学习笔记之-设计模式1-- 工厂模式(Factory)

 设计模式-- 工厂模式(Factory)
工厂模式中包括:工厂方法(Factory Method)和抽象工厂(Abstract Factory)
这两个模式区别在于需要创建对象的复杂程度上。
如果我们创建的对象类型是一种类型,如下例所示:
Sample是一个接口,创建他的不同子类:
Sample mysample=new MySample();
Sample hissample=new HisSample();
如果子类很多种,就需要很多行这样的构造方法去创建,这个时候就可以用到工厂模式中的工厂方法:
public class Factory{
  public static Sample creator(int which){
  //getClass 产生Sample 一般可使用动态类装载装入类。
  if (which==1)
    return new SampleA();
  else if (which==2)
    return new SampleB();
  }
}

当创建的对象类型很复杂时候,在factory中不但要创佳sampleA,还要创建 exampleA,
而sampleA 和 exampleA 来源于不同的父类Sample 和 Example 。这个时候就需要针对Sample 和 Example 创建不同的Factory
SampleFactory 和 ExampleFatory。代码如下所示:
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 ExampleFatory extends Factory{
  public Sample creator(){
    ......
    return new ExampleB
  }
  public Sample2 creator(String name){
    ......
    return new Example2B
  }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值