1.1 creational 创建型 - simple Fact
2019-02-02 本文已影响0人
entro
Simple Factory 简单工厂
[TOC]
创建型设计模式,又名 Static Factory 静态工厂
简介
- 其参数不同返回不同的实例。
- 简单工厂模式专门定义一个类(工厂类)来负责创建其他类的实例。
- 被创建的实例通常都具有共同的父类。
三种角色:Factory、Product、Concrete Product
角色 | 个数 |
---|---|
Factory:工厂角色 | 一个 |
Product:抽象产品角色 | 一个 |
Concrete Product:具体产品角色 | 多个 |
类图

优点:降低耦合,使用方便
+ 将对象的创建和对象本身业务分离,降低耦合。
+ 工厂方法是静态方法,使用起来可通过类名直接调用,只需要传入一个简单的参数。
缺点:职责过重,违反开闭原则
+ Factory 工厂类的职责相对过重。
+ 违背开闭原则:增加新的Product需要修改工厂类。
应用:Java日期格式类、Java加密类、大话设计模式中计算器的例子
- Java日期格式工具类 java.text.DateFormat
public final static DateFormat getDateInstance();
public final static DateFormat getDateInstance(int style);
public final static DateFormat getDateInstance(int style,Locale locale);
- Java加密类
KeyGenerator keyGen=KeyGenerator.getInstance("DESede");
- 《大话设计模》式中的举例:计算器+,- * /运算类
- Factory 是根据参数生产运算类的工厂
- Product 是运算类
- Concrete Product 是 + - * / 具体处理类
- 自己项目举例:
//todo