需求简述:查询个人电子徽章,徽章分为5大类:司龄,销售,组发,晋升,服务;每个类型的徽章处理的方式都不同;
下面代码是个大体的框架,具体的业务逻辑需要根据具体的业务来实现;
1.先建立一个Strategy
2.具体的实现类
这里只实现两个用来举例,实现BadgeStrategy接口
3.工厂
不用工厂的话,还需要 “卫语句” 或 if-else 来确定具体的执行实现类;
使用工厂,根据入参badgeType自动决定使用哪个实现类;之后新增类别时候,不用修改已有代码,新增一个类实现Strategy接口便可以,扩展性和维护性大大提升;
4.service中使用
新增类型后,service中代码不用修改,会根据入参调用相应的实现类;