请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

策略模式if-else疑问

在业务实现层,可以通过策略模式减少if-else,但在具体的策略实现类中若需要根据业务去完成一些业务逻辑类的实现时,此时也是会产生if-else或者if语句的,这个该如何处理呢?因为策略模式是解决if-else嵌套的,但若策略实现类中因业务的某些判断或者逻辑实现时也有可能产生if-else或if的情况,这样相当于策略模式实施的不完全,还是半个策略模式。
因为在2022年时被一面试官有问到具体的实现,我当时说用策略模式来解决if-else嵌套问题,但还是存在在具体的实现类中因业务逻辑的需要,还是会有if-else的判断的出现,这样即使是在service层避免了if-else的嵌套,但在具体的策略实现类中还是会出现if-else的情况,这样就相当于解决嵌套问题没处理完全,只能算半个策略模式的实现

正在回答 回答被采纳积分+3

2回答

geelylucky 2024-03-24 17:30:22

同学你好,策略模式的应用几乎可以应用到任何if-else的实现中,但是如果所有的实现细节都使用策略模式,反而是一种过度设计;比如支付模块,可以通过策略模式分割为支付宝支付、微信支付、云闪付支付等,然后在支付宝支付的实现细节中,我们依然还是需要if-else的;策略模式的应用并不是为了抛弃if-else,而是为了让整个应用更有条理,代码逻辑更易于理解;

1 回复 有任何疑惑可以回复我~
提问者 zsm18 2024-03-24 17:50:18

了解了 谢谢老师!

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号