设计模式行为型:策略模式

在策略模式(strategy pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。
在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。
定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。
结构图
角色与理解
策略模式共分为三种角色:context(上下文环境):持有抽象策略类,调用策略方法。strategy(抽象策略类):声明策略方法。concrete strategy(具体策略类):实现策略方法。context持有state的引用,完成对concretestrategy中策略方法的调用核心代码
抽象策略类public interface strategy { void dosomething();}真实策略类public class concretestrategya implements strategy { @override public void dosomething() { system.out.println(aaa); }}public class concretestrategyb implements strategy { @override public void dosomething() { system.out.println(bbb); }}客户端public class client { public static void main(string[] args) { strategy strategy = new concretestrategya(); strategy.dosomething(); strategy = new concretestrategyb(); strategy.dosomething(); }}

华为在人工智能领域的布局正愈发全面
5G工业物联网网关应用于无人值守机房远程监控
单片机中提高作业效率的“中断功能”解读
Linux文件系统简介
CellAegis Devices获六千万元投资:推进autoRIC设备进行临床试验,防治心脑血管疾病
设计模式行为型:策略模式
高压、可调恒流LED驱动器MAX16800应用设计
基于锯齿形石墨烯纳米带及其五元环衍生结构的自旋卡诺电子学器件设计
关于SMC选择性金属涂层的介绍和说明
如何不用实物来验证TIMER编码器接口功能
什么是世界博览会?
湖南三安“晶圆寻边装置”专利获授权
IMSI/MIN介绍
红外遥控器干扰电路 IR Remote Control Ja
图扑软件加入“元宇宙支撑技术与场景驱动创新联合体”
vivo NEX 的真机曝光
ARM、 MIPS 、X86三大芯片架构对比
联发科将全面助力700MHz频段5G商用建设
腾讯回应旗下APP将暂停更新传闻
华硕正式推出灵耀X双屏笔记本:7999元起