基于业务场景,我需要使用if else 来判断是那种类型,然后选择调用微信小程序还是 app的消息推送,所以为了替换if else,也为了后期代码维护简单,现在使用个简单的工厂模式+策略模式 来替换if else
1、先构建一个接口,然后定义好要调用的方法
package cn.lingyue.charging.service;
import cn.lingyue.charging.model.requestModel.NoticeRequest;
/**
* created by king on 2020/6/18 6:03 下午
*/
public interface ISendMsgService {
boolean sendMsg(Object object);
}
2、构建实现类,并重写调用方法,现在有两个实现类AppSendMsgServiceImpl、MiniSendMsgServiceImpl,此处要注意,需要@Component注解,注意service是否通过@Autowired注解成功,这里修改了service的构建方式,构建了静态构造方法,调用的时候也选择了 类名.属性.方法名
package cn.lingyue.charging.service.impl;
import cn.lingyue.charging.model.requestModel.NoticeRequest;
import cn.lingyue.charging.service.ISendMsgService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotatio