前言
设计模式只是面试八股文?
看过的文章只告诉了你源码怎么写,没告诉你应用场景?
本文将通过实际业务告诉你,工厂模式的应用场景以及思路,跟我一起学起来!
业务需求
某公园入园系统验票时,可以刷身份证或二维码进行验票
需要开发该验票接口,支持身份证和二维码验票的同时,确保后期如果支持其他验票方式,尽可能小的改动源码
以上就是源哥在实际开发中遇到的需求,当我听完客户描述,脑海中就是四个大字——工厂模式!
为什么选择简单工厂模式
- 将创建对象的事交给工厂,客户端不用自己创建对象,明确了各个类的职责
- 如果想增加新的对象,只需要增加一个具体的类和具体的工厂类即可,不需要修改工厂方法,满足开闭原则。
- 解耦,不用工厂的话,客户端和new对象的代码耦合在一起,工厂创建对象就可以将二者分开解耦。后期维护容易,增强系统的扩展性
实现代码(仅设计模式应用相关)
话不多说我们直接看代码
/**
* TODO 接口传递模型
*
* @author 刘循源
* @since 2023/7/26
*/
@Data
public class TicketCheckVO {
private String certType; //qrCode 二维码验票 idCard 身份证验票
private String certInfo; //验票信息
}
/**
* TODO 工厂
*
* @author 刘循源
* @since 2023/7/13
*/
public class TicketCheckingFactory {
//使用静态内部类初始化工厂类
private static TicketCheckingFactory ticketCheckingFactory = new TicketCheckingFactory();
private static Map checkingMap = new HashMap<>();
//使用静态代码块,在项目初始化时,实例化对应的实现类,并放入map集合
static

最低0.47元/天 解锁文章
126

被折叠的 条评论
为什么被折叠?



