一.前言
最近项目有实习的同事加入,很多实习同事反映,看不懂项目中的一些使用了设计模式的代码,比如HandleService,Chains,Listener等。本篇就介绍一下策略模式在项目中的使用,也就是我们常在项目中看到的XXXHandleService。
二.业务场景描述
假如有一个业务场景,我们要导入一个excel文件,excel文件有多个sheet页,每个sheet页的数据对应一套处理逻辑(比如sheet页A的数据解析完在数据库的A表进行存储,sheet页B的数据解析完成后要存到mongodb),每个sheet页的处理逻辑由一个开发同事进行开发。
三.代码
1.定义一个接口,接口约定两个方法
public interface ISheetService {
/**
* 执行方法,入参的sheetData代表一个sheet页中的数据
* @param sheetData
*/
void execut(Object sheetData);
/**
* 要求每个实现 ISheetService 的实现类都有一个 获取sheetname的方法
* @return
*/
String getSheetName();
}
2.两个业务实现类,他们都实现了上面定义的接口。且getSheetName方法各自返回该业务类要处理的sheet名称。
@Service
public class BiddingService implements ISheetService {
@Override
public void execut(Object sheetData) {
// TODO: 真实的业务逻辑
}
@Override
public String getShee

最低0.47元/天 解锁文章

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



