用策略模式替代switch case
switch case 看着方便,但是如果后期要加入条件:
- 还要修改原代码,导致回归测试,测试成本增加
- 不遵循开闭原则(对修改关闭,对拓展开放)
所以,我选择了策略模式来解决该问题。。。
一,首先了解下业务(大概说一下):
字段eventType有多种情况(org_dept_create,org_dept_modify,org_dept_remove,。。。。),不同情况下走不同得逻辑
二,用switch case的代码,实际上有十几个条件呢,这里举例3个。
switch (eventType) {case "org_dept_create":userAddOrg(obj);break;case "org_dept_modify":userModifyOrg(obj);break;case "org_dept_remove":userLeaveOrg(obj);break;略。。}
三,使用策略改写
- 首先写策略类
public interface CallBackStrategy {Boolean isOwn(String eventType
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
