策略模式在项目设计中用的多吗?
常 Coding 过程中,设计模式三板斧:模版、构建者、策略,今天来说下第三板斧 策略设计模式 策略模式还是比较简单并且使用较多的,平常我们多运用策略模式用来消除 if-else、switch 等多重判断的代码,消除 if-else、switch 多重判断 可以有效应对代码的复杂性,使设计解耦 如果分支判断会不断变化(增、删、改),那么可以使用技巧让策略模式满足开闭原则,提高代码的扩展性 (策略模式场景主要负责解耦,开闭原则需要额外支持) 下文中会详细列举如何使用设计模式做个 Demo 、模式的真实场景以及策略模式的好处 策略设计模式大纲如下:
什么是策略模式 策略模式在 GoF 的《设计模式》一书中,是这样定义的: Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it. 定义一组算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化,客户端代指使用算法的代码 看到上面的介绍可能不太明白策略模式具体为何物,这里会从最基本的代码说起,一步一步彻底掌握此模式。下述代码可能大家都能联想出对应的业务,根据对应的优惠类型,对价格作出相应的优惠段代码是能够满足项目中业务需求的,而且很多已上线生产环境的代码也有这类代码。但是,这一段代码存在存在两个弊端
如何运用策略模式优化上述代码,使程序设计看着简约、可扩展等特性 简化代码的复杂性,将不同的优惠类型定义为不同的策略算法实现类 保证开闭原则,增加程序的健壮性以及可扩展性 策略模式示例 将上述代码块改造为策略设计模式,大致需要三个步骤
![]() (编辑:江门站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |