设计模式学习反思

设计模式学习资料:(1)https://refactoringguru.cn/design-patterns/

1、策略模式
1.1 what? 策略模式是行为模式,意味着是对对象间交互行为的抽象。其将对某一问题的多种算法封装到各自的类,统一以相同的接口对外提供服务。
1.2 why? 清晰代码架构,解耦算法使用与算法实现,方便算法的增删及修改。
1.3 how?策略模式实现方式:
(1)定义策略类接口即接口内方法,实现该策略接口的抽象类抽象出通用的过程代码,子类继承抽象类,实现每个子类独特的策略处理代码。
(2)策略的使用:策略使用方式一般由另一单独的类对外提供服务,这里一般要伴随着策略的选择与生成。具体策略的选择由使用者的状态最终决定。通常实现方式是if else堆叠,策略很多时,则代码结构性、可读性、可维护性会变差。可将使用者可能存在的状态进行定义,并预先关联好使用者状态与具体策略间的关系,如使用map结构;若策略的执行需要由策略类的实例来执行,一般需要借助工厂类来屏蔽对象的生成细节,解耦对象的使用与生成,在工厂类中完成重复创建或单例的实现细节。
1.4 策略模式与状态模式的区别
策略模式关注的是对算法的封装与使用,类似于输入-选择-输出的过程。而状态模式则关注的是对象的不同状态,以及状态间的扭转过程

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值