美文网首页
工厂设计模式

工厂设计模式

作者: 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) 抽象工厂模式是工厂方法模式的升级版本,在有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。

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

    相关文章

      网友评论

          本文标题:工厂设计模式

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