java设计模式之工厂模式

概述

  • 工厂:就是生产特定产品的
  • 实现方式:

         1>创建一个抽象工厂类,声明抽象方法

         2>写一个具体的抽象工厂类的子类,由子类负责对象的创建

  • 优点:后期维护容易,增强了系统的扩展性
  • 缺点:需要额外的编写代码,增加了工作量
//抽象动物工厂
public abstract class AnimalFactory { public abstract Animal createAnimal(); //public abstract Animal newAnimal(); }
复制代码
//狗工厂
public class DogFactory extends AnimalFactory{ @Override public Animal createAnimal() { // TODO Auto-generated method stub Dog dog = new Dog(); dog.setName("小黑"); dog.setColor("Black"); //....... return dog; } }
复制代码
复制代码
//猪工厂
public class PigFactory extends AnimalFactory{ @Override public Animal createAnimal() { // TODO Auto-generated method stub Pig pig = new Pig(); return pig; } }
复制代码
复制代码
 //使用工厂方法模式创建对象
        DogFactory dogFactory = new DogFactory();
        Animal dog1 = dogFactory.createAnimal();
        dog1.eat();
        
        PigFactory pigFactory = new PigFactory();
        Animal pig2 = pigFactory.createAnimal();
        pig2.eat();
复制代码

简单工厂模式:

概述

  • 又叫静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例
  • 特点:一个类负责很多对象的创建
复制代码
public class AnimalFactory {
    /*public static Dog createDog(){
        Dog dog = new Dog();
        return dog;
    }*/
    
    //返回值可以是抽象类,接口,具体的类
    public static Animal createDog(){
        Dog dog = new Dog();
        return dog;
    }    
    public static Pig createPig(){
        Pig pig = new Pig();
        return pig;
    }
}
复制代码
posted @ 2018-12-22 01:48  expworld  阅读(141)  评论(0)    收藏  举报