设计模式专题记录之策略模式

1、什么是策略模式:
策略模式是对算法的包裹,把算法的责任和本身分开,委派给不同的对象管理,最终可解决多重if判断问题。

2、应用场景
传统代码中存在多重if判断语句,类此代码过于冗余,客观性和扩展性极弱。使用策略模式可以通过DB或者枚举类进行维护各具体行为的关系,也可做成可视化管理平台,管理各行为接口的权限和动态扩展。

3、底层实现原理:
将共同的行为抽取出来作为一个共同算法行为标准(接口),每个单独的策略行为继承父接口。
在这里插入图片描述

4、实现步骤

  1. 首先定义抽象策略角色(Strategy),此角色为所有具体策略的算法父接口。
    在这里插入图片描述

  2. 定义各具体子类的算法,并实现父类接口,并交给spring容器进行管理。
    在这里插入图片描述

  3. Context环境角色持有一个Strategy的引用,维护所有具体子类的算法行为。在此类中使用了spring的基础知识,通过beanid去spring容器获取bean对象(参考步骤2,使用component注入到spring容器中),然后通过子类实现父类并重写父类中的方法。
    在这里插入图片描述

  4. 定义接口入口的rest类。
    在这里插入图片描述

5. 策略模式优缺点:
优:解决多重if判断,提高扩展性、维护性增强、提高可读性
缺:后期维护不同策略类多,定义类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值