有一个设计模式点想和大家讨论一下。比如我现在有 a,b,c 三个业务,在三个类中,业务处理过程大同小异。我现在是按照模板方法,建了一个父类 s,其他类都继承它,在 s 中编写 process 业务处理方法,按照业务流程执行的方式,其中调用一些差异性的东西使用抽象方法,让之类去实现。这样好处是大多数代码都集中在 s 类,流程也清晰。但不好的地是不够灵活,比如对于不同业务有不同的异常跳转流,需要提前 return,现在这样模板不是很好做,大家有什么好的建议吗
来源:云原生后端社区
因为模板是固定的,你这样 s 类就把模板给改乱了。切换成策略模式试试,其实他俩很相似,包装一下就成策略模式了,你可以把变化的流程交给子类去处理,s 类不固化流程,只要流程结果就行了。
来源:云原生后端社区
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。