1、当我们获取到一个复杂的需求时,我们首先要分析这个模块的复杂度。如果很复杂,分支很多,需要用到建造者模式。
2、首先构建一个 GeneralChannelRule 基础规则抽象类,定义一个抽象方法process(),不同的渠道都需要实现该抽象方法
public abstract class GeneralChannelRule { public abstract void process(); }3、编写一个腾讯的规则类,定义具体对于腾讯渠道数据的处理逻辑
public class TencentChannelRule extends GeneralChannelRule @Override public void process() { // Tencent处理逻辑 } }4、编写一个头条的规则类,定义具体对于头条数据的处理逻辑
public class TouTiaoChannelRule extends GeneralChannelRule @Override public void process() { // TouTiao处理逻辑 } }4、建立一个简单的枚举类
public enum ChannelRuleEnum { /** * 头条 */ TOUTIAO("TOUTIAO"), /** * 腾讯 */ TENCENT("TENCENT"), ; .... }
5、使用规则对数据进行处理。