简单工厂模式

简单工程模式的目的

简单工厂模式属于创建型模式,主要用于创建对象.就像工厂生产东西一样,我们需要东西时,向工程提交订单,提出我们的需求,然后就等工厂生产,供货.我们并不需要知道工厂是怎么生产东西,只需要检查东西是否符合我们的要求.

简单工程模式概述

简单工厂模式,又称静态工厂方法模式,这个模式用于创建对象.在简单工厂模式下,客户端提供不同的参数,工厂根据参数类型返回对应的实例.简单工厂模式中,有一个用来生成其他对象实例的类,这些实例通常有共同的父类.

要点

  • Factory :工厂角色,负责创建实例,内部实现静态工厂方法,返回抽象产品角色
  • Product: 抽象产品角色,要创建的实例的父类,提供所有实例的公共接口
  • ConcreteProduct:具体产品角色,要创建的目标,机场抽象产品角色,实现相关方法.

将对象的创建和对象本身事务分离,降低系统额耦合读.只需传入正确的参+数 ,酒可以获得需要的对象,不用管对象是如何创建出来的.

实现

  • 抽象产品类
public abstract class Product{
  //所有产品都有的方法
  public void sameMethod(){

  }

  //抽象方法,不同的子类有不同的实现.
  public abstract void method();
}
  • 具体产品类
public class ProductOne extends Product{
    //实现业务方法
    public void method(){
        //业务逻辑
    }
}
  • 工厂类
public class Ractory{
  public static Product createProduct(String args){
    Product product = null;
    if ( args.equals(args1)) {
        product = new ProductOne();
    }else if(args.equals(args2)){
        product = new ProductTwo();
    }else {
        product = new ProductThree();
    }

    return product;
  }

}

  • 客户端调用
  public class Client{
    public static void main(String[] args){
      Product product ;
      product = Factory.createProduct("one");
    }
  }

简单工厂模式的使用场景

  • 工厂类负责创建的对象比较少,
  • 客户端不关心对象创建的细节,只需要知道传入的参数和返回的结果.

本质

通过选择不同的参数,创建不同的对象,不需要创建工厂实例,直接使用静态方法.

你可能感兴趣的:(简单工厂模式)