设计模式

工厂模式

2019-02-12  本文已影响0人  TZX_0710
     目的:由工厂对象决定创建出哪一种产品实例

示例demo

##简单demo 
LowBDemo
//动物类
public interface Animal{
      void run();
}
//猫
public class Cat implements Animal{
   
    @override
    public void run (){
     System.out.printLn("runA");
    }
}
//狗
public class Dog implements Animal{
   
    @override
    public void run (){
     System.out.printLn("runB");
    }
}
//工厂类
public class Creator {
    
    //私有化构造
    private Creator(){}
    
    /***
      **@Param productName 判断值
    */
    public static IProduct createProduct(String productName){
        if (productName == null) {
            return null;
        }
        if (productName.equals("A")) {
            return new ProductA();
        }else if (productName.equals("B")) {
            return new ProductB();
        }else {
            return null;
        }
    }
}

代码当中还是存在着很多的else if等操作 所以需要消除、是一种垃圾代码
上面的demo简单、一个抽象类2个实现类、一个工厂类、工厂类的创建私有化构造方法,所以必须传入一个字符串去判断,然后生成对应的类型


上一篇 下一篇

猜你喜欢

热点阅读