策略模式

(1)是什么?

策略模式其实很简单,就是针对不同的场景,做出不同的处理策略

(2)策略模式的优缺点:

优点:
(1)可以砍掉代码中过多的if else if 和 switch case语句,使代码更加整洁优雅,一定程度上提高了性能。
(2) 新增类型或者场景仅仅需要新增一个处理策略,不需要改动旧代码,遵循了开闭原则,更好维护。
缺点:
(1)如果场景过多,会产成过多的策略类,一定程度上增加了理解成本

(3)怎么用?(案例演示)

假设有一个需求,是根据传入的类型Type的不同,构造出不同的对象并且调用相对应的逻辑,这是一个很常见的日常需求,如果type较少,我们可能会直接写if … else if … else if …;type类型多,我们进一步考虑switch case,但是这些都可以用策略模式来优化
如下面的例子,我要根据穿进去的type,决定是构建一个游泳池pool,还是一个花园garden,还是一个迷宫maze,代码可以写成:
controller:

@GetMapping("/strategy2/{type}")
    public String strategy2(@PathVariable String type){
   
        // 模拟容器,事先创建好对应的对象
        Map
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值