Java-工厂设计模式

简单工厂

  public interface Animal(){
  }
  public Cat inplements Animal(){
  }
  public Dog inplements Animal(){
  }

  public class AnimalFactory(){
        public Animal createAnimal(int type){
              if('cat'.equalsIgnoreCase(type)){
                    return new Cat();
              }
              if('dog'.equalsIgnoreCase(type)){
                    return new Dog();
              }
        }
  }

  public class Client(){
        public static void main(String[] args){
              AnimalFactory animalFactory = new AniamlFactory();
              Animal animal = animalFactory.createAnimal(Cat);
        }
  }

工厂方法

  public interface Animal(){
  }
  public Cat inplements Animal(){
  }
  public Dog inplements Animal(){
  }

  public abstract class Factory{
        public abstract Animal createAnimal();
  }
  public class DogFactory extends Factory{
        public Animal createAnimal(){
              return new Dog();
        }
  }
  public class CatFactory extends Factory{
        public Animal createAnimal(){
              return new Cat();
        }
  }

抽象工厂

  public interface Animal1(){
  }
  public interface Animal2(){
  }
  public Cat1 inplements Animal1(){
  }
  public Dog1 inplements Animal1(){
  }
  public Cat2 inplements Animal2(){
  }
  public Dog2 inplements Animal2(){
  }

  public abstract class Factory1{
        public abstract Animal createAnimal1();
  }
  public class DogFactory1 extends Factory1{
        public Animal1 createAnimal1(){
              return new Dog1();
        }
  }
  public class CatFactory1 extends Factory1{
        public Animal1 createAnimal1(){
              return new Cat1();
        }
  }

  public abstract class Factory2{
        public abstract Animal createAnimal2();
  }
  public class DogFactory1 extends Factory2{
        public Animal2 createAnimal2(){
              return new Dog2();
        }
  }
  public class CatFactory2 extends Factory2{
        public Animal2 createAnimal2(){
              return new Cat2();
        }
  }
posted @ 2020-09-09 14:51  rikarika  阅读(92)  评论(0)    收藏  举报