Java设计模式之简单工厂模式
近来在学习Java的设计模式,一直觉得设计模式很难,所以一直没有去接触,一则是工作比较忙没有闲工夫去学习,二来是因为自己比较懒所以也懒得动,幸亏今天在公司还挺闲的,所以找了一本书来学习下Java的设计模式。
- 简单工厂的定义
- 应用简单工厂来解决问题的思路
- 简单工厂的结构和说明
- 简单工厂代码
- 使用简单工厂重写示例
- 模式讲解
- 简单工厂中方法的写法
- 简单工厂的优缺点
- 思考简单工厂
1、简单工厂的定义
提供一个创建对象实例的功能,而无须关系其具体的实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类。
2、应用简单工厂来解决问题的思路
简单工厂就是不能让模块外部知道模块内部的具体实现,但是模块内部还是可以知道实现类的,而且创建接口是需要知道具体的实现类的。
所以,干脆在模块内部新建一个类,在这个类里面来创建接口,然后把创建的接口返回给具体调用者,这样,外部应用就只需根据这个类来获取相应的接口对象,然后就可以操作接口定义的方法了。把这样的对象就称作简单工厂,就叫它Factory。
3、简单工厂的结构和说明
简单工厂的结果如下图所示。
- Api:定义客户所需的功能接口。
- Impl:具体实现Api的实现类,可有多个,根据具体业务。
- Factory:工厂,选择合适的实现类来创建Api接口对象。
- Client:客户端,通过Factory来获取Api接口对象,然后面向Api接口编程。
4、简单工厂代码
(1)Api定义代码如下:
public interface Api {
/**
* 示意,具