本文共 1537 字,大约阅读时间需要 5 分钟。
java-设计模式-创建模式-工厂模式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/