一、简单工厂

来源:互联网 发布:细说php精要版 编辑:程序博客网 时间:2024/04/26 17:42

定义简介

  1. 分类:从设计模式的类型划分,简单工厂模式属于创建型设计模式,又叫做静态工厂方法模式,属于工厂模式家族一个特例,但是不属于23种设计模式。
  2. 定义:简单工厂模式是一个工厂对象创建一个具体的抽象产品的实例。
  3. 类图:
    这里写图片描述

代码分析

1. 抽象产品类

public interface IComputer {    void create();}

2. 具体产品类

  • 产品类1
public class AsusCom implements IComputer{    @Override    public void create() {        System.out.println("asus is coming...");    }}
  • 产品类2
public class DellCom implements IComputer {    @Override    public void create() {        System.out.println("dell is coming...");    }}
  • 产品类3
public class MackProCom implements IComputer {    @Override    public void create() {        System.out.println("mack pro is coming");    }}

3. 工厂类

  • 由工厂类创建指定的具体的产品类实例
public class Factory {    public static IComputer createProduct(String str) {        if (str == null || "".equals(str)){            return null;        }else if (str.equals("asus")){            return new AsusCom();        }else if (str.equals("dell")){            return new DellCom();        }else if (str.equals("pro")){            return new MackProCom();        }        return null;    }}

4. 客户端调用

  • 传入字符串参数指定创建具体产品的分类
public class Client {    public static void main(String[] args) {        IComputer computer = Factory.createProduct("asus");        computer.create();        IComputer computer1 = Factory.createProduct("pro");        computer1.create();    }}

总结

简单工厂方法设计模式组成
1. IComputer(interface/abstract)
2. Dell || Asus || MackPro(subClass)
3. Factory(工厂类根据传入的参数创建具体的实例)

原创粉丝点击