美文网首页
工厂设计模式

工厂设计模式

作者: Ryan_Hoo | 来源:发表于2018-07-01 10:56 被阅读0次

1、简单工厂模式

/* 产品的抽象接口 */

public interface Animal {

     void call();

}

public class Cat implements Animal{

    @Override

    public void call() {

         System.out.println("我们一起学猫叫");

    }

}

public class Dog implements Animal{

    @Override

    public void call() {

           System.out.println("我们一起学狗叫");

    }

}

工厂类:

public class AnimalFactory {

         public static  Animal  createAnimal(Class clazz){

                 Animal animal =null ;

                 try {

                       animal = (Animal) clazz.forName(clazz.getName()).newInstance();

                  }catch (InstantiationException e) {

                         e.printStackTrace();

                  }catch (IllegalAccessException e) {

                        e.printStackTrace();

                  }catch (ClassNotFoundException e) {

                       e.printStackTrace();

                  }

                 return animal;

    }

public static Animal createAnimal(String type){

        if(type.equals("Dog")){

             Animal dog =new Dog();

            return dog;

          }else if(type.equals("Cat")){

             Animal cat =new Cat();

             return cat;

        }else{

             System.out.println("生产不出来");

             return null;

        }

   }

}

2、工厂方法模式

它是将AnimalFactory类拆分了,变为接口FactoryAnimal、类DogFactory、类CatFactory。

public interface FactoryAnimal {

       Animal  createAnimal();

}

public class DogFactory  implements FactoryAnimal {

    @Override

    public Animal  createAnimal() {

          return new Dog();

    }

}

public class CatFactory implements FactoryAnimal {

    @Override

    public Animal createAnimal() {

           return new Cat();

    }

}

3、抽象工厂模式

抽象工厂模式:

1) 用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族)。

2) 抽象工厂模式是工厂方法模式的升级版本,在有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。

抽象工厂模式 这个总结的很详细,方便以后查看。

相关文章

  • 设计模式四、抽象工厂模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 抽象工厂模式 ...

  • 设计模式之工厂模式

    设计模式之工厂模式 标签(空格分隔): 设计模式 工厂模式 设计模式的感念 设计模式的应用 工厂设计模式的产生 工...

  • 设计模式三、工厂模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 工厂模式 在一...

  • 工厂模式

    java设计模式-工厂模式 工厂模式: 工厂模式是java设计模式里最常用的设计模式之一。 工厂模式属于创建型模式...

  • 单件设计模式

    一、定义 设计模式 设计模式就是一种更好的编写代码方案。 常见设计模式 工厂设计模式、抽象工厂设计模式、抽象工厂设...

  • iOS设计模式(三)之抽象工厂模式

    设计模式系列传送门 iOS设计模式(一)之简单工厂模式iOS设计模式(二)之工厂模式iOS设计模式(三)之抽象工厂...

  • iOS设计模式(一)之简单工厂模式

    设计模式系列传送门 iOS设计模式(一)之简单工厂模式iOS设计模式(二)之工厂模式iOS设计模式(三)之抽象工厂...

  • iOS设计模式(二)之工厂模式

    设计模式系列传送门 iOS设计模式(一)之简单工厂模式iOS设计模式(二)之工厂模式iOS设计模式(三)之抽象工厂...

  • 设计模式一、单例模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 简单单例(推荐...

  • 设计模式-工厂模式

    设计模式1 设计模式2 工厂模式 工厂模式可简单的分为三类:简单工厂,工厂方法,抽象工厂 简单工厂模式 定义 简单...

网友评论

      本文标题:工厂设计模式

      本文链接:https://www.haomeiwen.com/subject/gsdcuftx.html