简单工程模式的目的
简单工厂模式属于创建型模式,主要用于创建对象.就像工厂生产东西一样,我们需要东西时,向工程提交订单,提出我们的需求,然后就等工厂生产,供货.我们并不需要知道工厂是怎么生产东西,只需要检查东西是否符合我们的要求.
简单工程模式概述
简单工厂模式,又称静态工厂方法模式,这个模式用于创建对象.在简单工厂模式下,客户端提供不同的参数,工厂根据参数类型返回对应的实例.简单工厂模式中,有一个用来生成其他对象实例的类,这些实例通常有共同的父类.
要点
- 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");
}
}
简单工厂模式的使用场景
- 工厂类负责创建的对象比较少,
- 客户端不关心对象创建的细节,只需要知道传入的参数和返回的结果.
本质
通过选择不同的参数,创建不同的对象,不需要创建工厂实例,直接使用静态方法.