代码技巧专题 -- 使用策略模式编写HandleService

一.前言

        最近项目有实习的同事加入,很多实习同事反映,看不懂项目中的一些使用了设计模式的代码,比如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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值