Strategy设计模式

Strategy设计模式允许在运行时选择算法。通过定义一个行为接口,不同的实现类可以提供不同的策略。例如,从A到B的出行方式(如乘车、步行、骑车)可以通过一个出行接口和其具体实现类来实现。在软件构造任务中,用于猴子过河的策略分配体现了这种模式的便利。Context类封装了Strategy接口,使得在使用时只需关注Context,而策略的切换变得简单。
摘要由CSDN通过智能技术生成

在我的理解中,strategy设计模式就是能够实现整体地替换某个算法去解决同一个问题的一种编程模式。举个例子,我们从A地到B地,可以坐车,可以步行,可以骑自行车,但这三种方式都是出行的一种形式,因此,我们可以设计一个出行的接口,然后三种方法分别是接口的具体实现类。
具体结构可以概括为下面这张图:
在这里插入图片描述

Context类可以理解为将接口封装的一个类,在使用的时候,只需要声明一个Context类,就可以委派这个类实现接口的不同操作。

在软件构造lab6中,我们需要设计不同的过河策略,为每个待过河的猴子分配某个策略,这时候strategy模式非常方便。

package strategy;

import ladder.Ladder;

public interface ChooseLadderStrategy {
    
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值