JAVA系列-设计模式-策略模式

人工智能训练师技能等级认定四级技能考核试卷-样题1 本文为人工智能训练师四级技能考核试卷,包含六个实操考核项目,总分100分,考试时间150分钟。试卷涵盖数据处理、模型训练准备及系统维护等核心技能:1)垃圾分类数据集规范与处理(30分),要求评估数据格式并编写Python处理代码;2)学生成绩数据集分析(20分),涉及数据预处理、可视化及相关性分析;3)数据标注审核(10分),重点审核标注准确性;4)智能数据服务系统维护与优化(40分),包括安全帽数据集的项目创建、数据处理及平台协作。考核强调Python编程、数据处理平台操作及AI工作流程的实践能力。 阅读详情

定义:

定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。

package Strategy;

/**
 * 定义所有支持的算法的公共接口。Context使用这个接口来调用某ConcreteStrategy定义的算法。
 * @author Administrator
 *
 */
public abstract class Strategy {

    public abstract void method();
}

package Strategy;

/**
 * 用一个ConcreteStrategy对象来配置。
      维护一个对Strategy对象的引用。
      可定义一个接口来让Stategy访问它的数据。
 * @author Administrator
 *
 */
public class Context {
	Strategy stra;

	public Context(Strategy stra) {
		this.stra = stra;
	}

	public void doMethod() {
        stra.method();
    }
}

package Strategy;

public class StrategyImplA extends Strategy {

    public void method() {
        System.out.println("这是第一个实现");
    }
}

package Strategy;

public class StrategyImplB extends Strategy {

    public void method() {
        System.out.println("这是第二个实现");
    }
}

package Strategy;

public class StrategyImplC extends Strategy {

    public void method() {
        System.out.println("这是第三个实现");
    }
}

package Strategy;

/**
 *  定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。
 * 	适用性
    1.许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法。
    2.需要使用一个算法的不同变体。
    3.算法使用客户不应该知晓的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构。
    4.一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现。
      	将相关的条件分支移入它们各自的Strategy类中以代替这些条件语句。
 * @author Administrator
 *
 */
public class Test {
	   public static void main(String[] args) {
	        Context ctx = new Context(new StrategyImplA());
	        ctx.doMethod();
	        
	        ctx = new Context(new StrategyImplB());
	        ctx.doMethod();
	        
	        ctx = new Context(new StrategyImplC());
	        ctx.doMethod();
	    }
}



手把手教你解决Windows 10网络驱动器无法访问问题(附详细排查步骤) 本文详细指导Windows 10用户解决网络驱动器无法访问的常见问题。通过从现象快速定位到系统排查,提供了从检查网络连通性、修复凭据权限到调整高级设置的完整步骤,特别是针对“找不到网络路径”等错误,帮助用户高效恢复对共享资源的访问。 阅读详情

相关推荐

RADIOML 2018.01A调制信号数据集介绍及处理

RadioML 2018.01A 由 DeepSig 发布,是专门针对自动调制识别(Automatic Modulation Recognition, AMR)和无线信号分类研究设计的基准数据集。它在原有 RadioML 2016.10a 的基础上,扩展并精细化了信道仿真模型,使得信号更接近真实无线环境下的表现。该数据集广泛用于机器学习模型的训练与评估,为各类深度学习算法提供了统一、可重复的实验条件。

weixin_56527269的博客 1887

Wireshark保姆级安装与实战:从零掌握网络协议分析

网络协议分析是理解计算机通信、排查网络故障的核心技术。其原理在于捕获并解析流经网络接口的数据包,从而透视应用层之下的传输细节。这项技术的价值在于为网络工程师和安全研究员提供了底层证据,能精准定位如TCP重传、端口不稳定等隐蔽问题,广泛应用于API调试、性能优化和安全审计等场景。作为该领域的标杆工具,Wireshark凭借其强大的抓包驱动(如Npcap)和直观的协议树解析,成为网络分析的终极诊断武器。本文将以实战为导向,详解其安装配置与首次抓包流程,帮助你快速上手这一必备技能。

weixin_34109408的博客 387

Skyworks SKY85331-11的Wi-Fi 6 (802.11ax)标准 2.4G 高功率WLAN前端模块解决方案

SKY85331-11是高度集成的2 GHz前端模块(FEM)包含2 GHz单刀双掷(SPDT)发送/接收(T / R)开关,2 GHz低噪声放大器(LNA)带旁路和一个2 GHz功率放大器(PA),用于大功率802.11ax应用程序和系统LNA和PA禁用功能可确保低漏电流 关闭模式。 包括一个集成的功率检测器以提供系统内的闭环功率控制。该设备提供Small (24-pin, 3 x 5 mm) (LGA)封装。 图1.引脚配置和封装如图所示 图2.信号引脚分配和功能引脚描述 图...

zhangbao19890622的博客 4504

Strategy模式——策略模式

意   图 定义一系列的算法 , 把它们一个个封装起来 , 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。 适   用 环   境 u 许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法。 u 需要使用一个算法的不同变体。例如

396

使用openair包分析气象数据

气象数据通常是有规律的时间序列,分析气象数据时需要对空气质量测量、气象数据和扩散模型输出进行分析。openair 是用于分析空气质量数据或更广泛的大气成分数据的R软件包。该软件包广泛应用于学术界、公共和私营部门。该项目最初由英国自然环境研究委员会(NERC)资助,并由英国环境部(Defra)提供额外资金。

Christina 2519

基于STM32环境温湿度监测系统设计

基于STM32环境温湿度监测系统设计1. 实验目的2. 任务和要求3. proteus仿真图4. 实验代码 1. 实验目的 (1) 掌握使用 KEIL MDK5 进行软件开发的具体流程; (2) 掌握硬件电路的设计方法; (3) 掌握 STM32 微控制器的程序设计及代码编写方法。 2. 任务和要求 (1)在 STM32F103 平台下,通过温度传感器 DS18B20 和湿度传感器 DHT11 实现环境温湿度信息的采集; (2)将温度传感器和湿度传感器所采集的数据在 LCD 液晶屏幕上显示出来,超

唯一的博客 2万+

C++设计模式之策略模式(strategy)(行为型)

一 定义 策略模式是指定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。也就是说这些算法所完成的功能一样,对外的接口一样,只是各自实现上存在差异。 策略模式把对象本身和运算规则区分开来,其功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性的思想。 二 ULM图 环境类(Context):用一个Concr...

janeqi1987的专栏 1213

实战:爬取某小程序的订单数据(解析小程序 API 参数)

本文以美团外卖小程序为例,详细分析了电商类小程序订单数据接口的技术实现与采集方法。首先通过抓包定位核心接口,解析其请求参数;重点破解了token验证机制与sign签名加密算法,通过逆向分析还原参数生成逻辑;最后基于Python实现了订单数据的自动化爬取与存储。文章强调数据采集需遵守法律合规性,提供应对反爬机制的策略,并指出了必须在获得合法授权的前提下使用这些技术。该研究为数据采集工程师提供了实用的技术参考,但必须严格遵循"最小必要"原则,确保不违反平台规则和用户隐私保护法规。

2503_91057718的博客 2317

策略模式(Strategy)-定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。

<br />策略模式:策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式把行为和环境分开。环境类负责维持和查询行为类,各种算法在具体的策略类中提供。由于算法和环境独立开来,算法的增减,修改都不会影响 到环境和客户端。 <br /> <br />(1)建立一个抽象类RepTempRule 定义一些公用变量和方法,示例代码如下:<br />public abstract class RepTempRule{<

engchina的专栏 4753

基于STM32、HAL库的SC16IS752IPW总线转UART驱动程序设计

/ FIFO空间不足。// 设置LCR寄存器的DLAB位为1以访问DLL/DLH。// 设置LCR寄存器,先访问DLL/DLH。// 设置LCR寄存器(不包含DLAB位)

corlin6688的博客 817

2025年下半年网络工程师案例分析真题及答案解析

2025年下半年网络工程师案例分析真题及答案解析

鹿鸣天涯 1089

设计模式学习笔记--策略模式(详细笔记)

1. 概述 使用背景: 定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。 一个系统有许多许多类,而区分它们的只是他们直接的行为。将这些算法封装成一个一个的类,任意地替换。 定义: 《大话设计模式》 策略模式(Strategy):它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 《图说设计模式》 策略模式(Strategy Pattern):定义一系列算法,将每一

Gang-bb的博客 996

把 ABAP Smart Form 输出变成可直接下载的 PDF 二进制:OTF 到 XSTRING 的一条龙实践

SAP Smart Forms 生成 PDF 的实用方案:通过 OTF 格式转换实现高效输出。Smart Forms 本身不直接生成 PDF,而是输出 OTF 格式数据,需通过 CONVERT_OTF 函数转换。本文提供两种实现路径:传统的 Spool 方式和更优的直接获取 OTF 方式,后者避免了 Spool 的维护负担。核心代码演示了如何通过设置 GETOTF 参数获取 OTF 数据,并转换为 PDF 二进制流,适用于前端下载、接口传输等场景。同时介绍了 SSF_OPEN/SSF_CLOSE 方法用于批

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 675

Java设计模式系列之——策略模式

Java策略模式之——泰伦卢如何带詹姆斯夺冠。

码之初的博客 641

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Java设计模式系列 - 策略模式

想象一个场景:你的系统里有一个计算价格的功能。最开始,只有普通用户,不打折。后来来了老用户,要打95折。再后来来了VIP,要打8折。你的代码是不是这样演变的?问题来了,每加一种用户类型,你就要来改这个方法的if-else。这违反了(对扩展开放,对修改关闭)。而且,如果折扣逻辑很复杂,这个方法会迅速膨胀,变成一坨“屎山”。

qq_40668700的博客 580

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

《JAVA设计模式系列》策略模式

定义一系列算法,封装每个算法,并使他们可以互换,不同的策略可以让算法独立于使用它们的客户而变化。

追寻心的步伐 359

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Java设计模式系列之策略模式

策略模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换 比如: 刘备要到江东娶老婆了,走之前诸葛亮给赵云(伴郎)三个锦囊妙计,说是按天机拆开能解决棘手问题,嘿,还别说,真解决了大问题,搞到最后是周瑜陪了夫人又折兵,那咱们先看看这个场景是什么样子的。 先说说这个场景中的要素:三个妙计,一个锦囊,一个赵云,妙计是亮哥给的,妙计放在锦囊里,俗称就是锦囊妙计嘛,那赵云就是一...

a18826265589的博客 104

java arraylist策略模式_Java设计模式系列之策略模式

策略模式的定义:定义了算法族,分别封装起来,让它们之间可以互相替换 ,此模式让算法的变化独立于使用算法的客户策略模式的意义:策略模式使开发人员能够开发出由许多可替换的部分组成的软件,并且各个部分之间是低耦合的关系。低耦合的特性使软件具有更强的可扩展性,易于维护;更重要的是,它大大提高了软件的可重用性。策略模式中有三个对象:环境对象(Context):该类中实现了对抽象策略中定义的接口或者抽象类的引...

weixin_28804379的博客 165

Java 设计模式实战系列—策略模式

定义一系列的算法,把每个算法封装起来, 并且使它们可相互替换。根据调用者传参来调用具体的算法。将策略的定义、创建和使用三个部分解耦。下面就上面的打折方案的方法使用策略模式进行改造。策略的定义包含一个策略接口和一组实现这个接口的策略类,所有的策略类都实现相同的接口。// 创建一个接口// 打六折@Override// 打八折@Override// 满100减20,满200减50@Override// 满100减20,满200减50// 省略具体算法....

qq_42700121的博客 577

java策略模式的概念_Java设计模式系列之策略模式

策略模式的定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换,策略模式让算法独立于使用它的客户而独立变化。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。策略模式的意义:策略模式使开发人员能够开发出由许多可替换的部分组成的软件,并且各个部分之间是低耦合的关系。低耦合的特性使软件具有更强的可扩展性,易于维护;更重要的是,它大大提高了软件的可重用性。策略模式...

weixin_39797780的博客 138

JAVA策略模式demo【设计模式系列】

传统代码会变成if{}else{}或switch面条代码,而且扩展性不佳,如果后续新增了设备,需要去修改这里的代码,非常不优雅,这时候就可以使用策略模式

小小寂寞的城 的博客 607

Java设计模式系列——策略模式

1、什么是策略模式(Strategy Pattern) 策略模式(Strategy Pattern)是指定义了算法家族并分别封装起来,让它们之间可以相互替换,此模式使得算法的变化不会 影响使用算法的用户。 2、策略模式的应用场景 策略模式的应用场景如下: 系统中有很多类,而它们的区别仅仅在于其行为不同。 一个系统需要动态的在几种算法之间选择一种。 3、策略模式的成员结构 策略模式有以下三种角色构成 抽象策略类:定义所有支持的算法公共接口。 具体策略实现类:实现抽象策略接口实现具体的算法策略。 环境类(

猿来好吧的博客 404

Java 设计模式系列(23) —— 策略模式

定义一组算法,将每个算法都封装起来,并使它们之间可以互换。

smart_an的专栏 733
上一篇: JAVA系列-设计模式-状态模式
下一篇: JAVA系列-设计模式-模板模式
jackson_fighting
博客等级 码龄15年 172粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值