创建型模式---工厂模式
Posted waynelsh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建型模式---工厂模式相关的知识,希望对你有一定的参考价值。
从简单到复杂有简单工厂模式-->工厂方法模式-->抽象工厂模式
简单工厂模式(Simple Factory Pattern)
定义
又称为静态工厂方法(Static Factory Method)模式
,它属于类创建型模式。在简单工厂模式中,可以根据参数
的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
产生背景
当一个模块只需要一个工厂类,没必要把工厂类也抽象出来的时候,使用静态方法就行。
UML图
代码
public class SimpleDrinkFactory {
public static <T extends Drink> T getDrink(Class<T> c) {
//定义一个饮料
Drink drink = null;
try {
drink = (Drink) Class.forName(c.getName()).newInstance();
} catch (Exception e) {
System.out.println("生产饮料失败!");
}
return (T) drink;
}
}
使用场景:
- 日志记录器:记录可能记录到本地硬盘、系统事件、远程服务器等,用户可以选择记录日志到什么地方。
- 数据库访问,当用户不知道最后系统采用哪一类数据库,以及数据库可能有变化时。
- 设计一个连接服务器的框架,需要三个协议,"POP3"、"IMAP"、"HTTP",可以把这三个作为产品类,共同实现一个接口。
以上是关于创建型模式---工厂模式的主要内容,如果未能解决你的问题,请参考以下文章