产品销售型企业网站有哪些济南网站开发定制

web/2025/10/2 9:03:07/文章来源:
产品销售型企业网站有哪些,济南网站开发定制,免费域名模板建站,网站建设协策略模式定义封装在通常称为Context的驱动程序类中的一系列算法#xff0c;并使这些算法可互换。 它使算法易于互换#xff0c;并提供了在特定时间选择适当算法的机制。 算法#xff08;策略#xff09;在运行时由客户端或上下文选择。 在与客户端交互期间#xff0c;Con… 策略模式定义封装在通常称为Context的驱动程序类中的一系列算法并使这些算法可互换。 它使算法易于互换并提供了在特定时间选择适当算法的机制。 算法策略在运行时由客户端或上下文选择。 在与客户端交互期间Context类处理所有数据。 战略模式的主要参与者如下 策略–指定所有算法的接口。 该接口用于调用由ConcreteStrategy定义的算法。 上下文–维护对策略对象的引用。 ConcreteStrategy –根据策略接口实际执行算法 现在让我们看一下策略模式的具体示例并查看如何使用lambda表达式对其进行转换。 假设我们有不同类型的税率来计算所得税。 根据提前还是延迟缴税分别有回扣或罚款。 我们可以将此功能与不同方法封装在同一类中但是如果将来需要进行其他一些税收计算则需要对该类进行修改。 这不是一种有效的方法。 更改类的实现应该是最后的选择。 让我们通过使用策略模式来采取最佳方法。 我们将使用基本方法为“税收策略”建立界面 public interface TaxStrategy {public double calculateTax(double income); } 现在让我们定义正常所得税的具体策略。 public class PersonalTaxStrategy implements TaxStrategy {public PersonalTaxStrategy() { }Overridepublic double calculateTax(double income) {System.out.println(PersonalTax);double tax income * 0.3;return tax;} } PersonalTaxStrategy类符合TaxStrategy接口。 同样让我们​​为延迟付款定义一种具体的策略该策略会产生罚款。 public class PersonalTaxPenaltyStrategy implements TaxStrategy {public PersonalTaxPenaltyStrategy() { }Overridepublic double calculateTax(double income) {System.out.println(PersonalTaxWithPenalty);double tax income * 0.4;return tax;} } 接下来我们为预付税定义具体策略以实现退税。 public class PersonalTaxRebateStrategy implements TaxStrategy {public PersonalTaxRebateStrategy() { }Overridepublic double calculateTax(double income) {System.out.println(PersonalTaxWithRebate);double tax income * 0.2;return tax;} } 现在让我们结合定义的所有类和接口以利用策略模式的强大功能。 让main方法充当不同策略的上下文。 仅查看所有这些类的一个示例相互作用 import java.util.Arrays; import java.util.List;public class TaxStrategyMain {public static void main(String [] args) {//Create a List of Tax strategies for different scenariosListTaxStrategy taxStrategyList Arrays.asList(new PersonalTaxStrategy(),new PersonalTaxPenaltyStrategy(),new PersonalTaxRebateStrategy());//Calculate Tax for different scenarios with corresponding strategiesfor (TaxStrategy taxStrategy : taxStrategyList) {System.out.println(taxStrategy.calculateTax(30000.0));}} } 运行此命令可获得以下输出 PersonalTax9000.0PersonalTaxWithPenalty12000.0PersonalTaxWithRebate6000.0 它清楚地说明了如何通过使用适当的具体策略类别来计算不同的税率。 我试图将所有具体的策略算法组合在一个列表中然后通过遍历该列表来访问它们。 到目前为止我们所看到的只是标准策略模式而且已经存在了很长时间。 在这些时候函数式编程是新的流行语可以在Java中对lambda表达式的支持下思考事情可以做得不同吗 实际上由于策略接口就像一个功能接口因此我们可以使用Java中的lambda表达式进行哈希处理。 让我们看看代码的样子 import java.util.Arrays; import java.util.List;public class TaxStrategyMainWithLambda {public static void main(String [] args) {//Create a List of Tax strategies for different scenarios with inline logic using LambdaListTaxStrategy taxStrategyList Arrays.asList((income) - { System.out.println(PersonalTax); return 0.30 * income; },(income) - { System.out.println(PersonalTaxWithPenalty); return 0.40 * income; },(income) - { System.out.println(PersonalTaxWithRebate); return 0.20 * income; });//Calculate Tax for different scenarios with corresponding strategiestaxStrategyList.forEach((strategy) - System.out.println(strategy.calculateTax(30000.0)));} } 运行此命令可获得类似的输出 PersonalTax9000.0PersonalTaxWithPenalty12000.0PersonalTaxWithRebate6000.0 我们可以看到使用lambda表达式会使具体策略的其他类变得多余。 您不需要其他课程 只需使用lambda表达式指定其他行为。 可以从我的github存储库访问所有代码片段 翻译自: https://www.javacodegeeks.com/2016/01/java-8-lambda-expression-design-patterns-strategy-design-pattern.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计师常用网站网站的推广方式有哪些

Windows power shell/cmd/shell/脚本 1、shell shell:shell脚本运行的环境,是一个概念不是特指 shell脚本:shell脚本就是将一系列命令按照一定的顺序保存到一个文本文件中,该文本文件被赋予执行权限,执行时依次执行…

北京电商购物网站开发杭州富阳网站建设

环境: ubuntu-2404-server、virtualbox 7.0.18 新建虚拟机 分配 CPU 核心和内存(根据自己电脑实际硬件配置选择) 分配磁盘空间(根据自己硬盘实际情况和需求分配即可) 设置网卡,网卡1 负责上网&#xff0c…

网站推广建设企业管理培训班哪个好

JMeter安装UDP插件后支持发送UDP协议的请求包,官方介绍安装插件后可以用来测试DNS, NTP, TFTP, Boot servers and many-many other systems。 JMeter UDP插件下载地址:http://jmeter-plugins.org/downloads/all/,下载JMeterPlugins-Extras-X.…

网站建设教程实训心得如何申请一个自己的网站

首先,先排除硬件上的问题,使用示波器检测引脚电压是否正常?波形收发是否正常?多用几块板子进行对比测试。如果硬件没有问题,则进行软件上的排除。 在硬件测试无问题基础上,单片机与某功能模块进行串口通信…

深圳前十网站建设公司桂林建网站的公司

一、服务端接收消费者拉取数据的方法二、遍历请求中需要拉取数据的主题分区集合,分别执行查询数据操作,1、会选择合适的副本读取本地日志数据(2.4版本后支持主题分区多副本下的读写分离) 三、会判断当前请求是主题分区Follower发送的拉取数据请求还是消费…

超市会员管理系统seo外包公司多少钱

第8天 小型软件项目开发 8.1 记事本开发 小技巧:用VC6新建工程,以资源方式打开系统自带notepad.exe中的MENU资源,加入到自己新建的工程中;然后再添加到VS工程中,即可获取现有exe的菜单资源。 EndDialog中传入的参数…

甜品网站设计与实现毕业设计php学校网站建设

地点:茗福轩西班牙的一对情侣。老板娘在用电脑讲解。品完茶好像不过瘾,还要去酒吧喝点。

商城网站的开发怎么做贵阳设计网站

异常处理概述在代码的运行过程中,错误是不可避免的,总的来说,错误发生于两种情况:一是程序内部的逻辑或者语法错误,二是运行环境或者用户输入中不可预知的数据造成的错误。对于前者,就称之为错误&#xff0…

网站制作公司 云南中卫网站推广优化

一、goroutine 池 本质上是生产者消费者模型在工作中我们通常会使用可以指定启动的 goroutine 数量-worker pool 模式,控制 goroutine 的数量,防止 goroutine 泄漏和暴涨一个简易的 work pool 示例代码如下: package mainimport ("fmt…

网站改版技术要求e福州首页

转载声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:在NS-3中安装可视化工具pyviz的一些问题的解决_寻同学的博客-CSDN博客 今天,在更新软件时,使用以下…

葫芦岛建设工程信息网站hyperx wordpress 汉化

cpu 抖动性能分析新机器 当我在新机器上工作时,我想了解它的局限性。 在这篇文章中,我将研究机器的抖动以及忙于等待本周末构建的新PC的影响。 该机器的规格很有趣,但不是发布目的。 永远不要少于它们: i7-3970X六核运行于4.5 GH…

美容医疗 网站建设宽屏网站宽度

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣322. 零钱兑换二、力扣509. 斐波那契数三、力扣46. 全排列四、力扣51. N 皇后五、力扣52. N 皇后 II 前言 一、力扣322. 零钱兑换 class Solution {pu…

网站开发的整个流程学it要多久多少学费

来源:amazonaws.com摘要:长期以来,使用无监督(预)训练来提高区别性任务的性能表现一直是机器学习研究的一个重要目标。最近,OpenAI通过使用一个具有可扩展性的任务不可知系统,在一系列不同的自然…

建设银行城东支行网站网站报价表格

系列文章 1.SpringBoot整合RabbitMQ并实现消息发送与接收 2. 解析JSON格式参数 & 修改对象的key 3. VUE整合Echarts实现简单的数据可视化 4. Java中运用BigDecimal对字符串的数值进行加减乘除等操作 5. List<HashMap<String,String>&…

护肤品网站建设的摘要iis2008如何做网站

目录 一、摘要1.1 项目介绍1.2 项目详细录屏 二、功能模块2.1 数据中心模块2.2 二手商品档案管理模块2.3 商品预约管理模块2.4 商品预定管理模块2.5 商品留言板管理模块2.6 商品资讯管理模块 三、实体类设计3.1 用户表3.2 二手商品表3.3 商品预约表3.4 商品预定表3.5 留言表3.6…

井冈山保育院网站建设网站前后端的关系

快捷键快捷键符号英文名称功能说明Control Space⌃SpaceBasic code completion基本的代码补全(补全任何类、方法、变量),代码智能提示,因为和切换输入法快捷键冲突,所以基本改成Alt/Shift Command Enter⌘⇧↩Compl…

网站硬件费用wordpress地图页面如何添加

朋友们好! 春天来了,我们热情洋溢的团队很高兴能为 Gotchiverse 带来一堆新鲜的更新和丰富的功能。让我们一起来看看这次开发更新带来了什么: Gotchichain 选择定居基地 精神力量竞技场获得了 EBIC 更新 高奇守护者通过全新的进阶系统提升…

长沙房地产网站建设网页游戏大全小游戏

RTOS 调试指南 此文档介绍 FreeRTOS 系统方案支持的常用软件调试方法,帮助相关开发人员快速高效地进行软件调试,提高解决软件问题的效率。 栈回溯 栈回溯是指获取程序的调用链信息,通过栈回溯信息,能帮助开发者快速理清程序执行…

中英文网站建站睢县做网站的公司

后台代理提醒简介 随着生活节奏的加快,我们有时会忘记一些重要的事情或日子,所以提醒功能必不可少。应用可能需要在指定的时刻,向用户发送一些业务提醒通知。例如购物类应用,希望在指定时间点提醒用户有优惠活动。为满足此类业务…

建设银行河北招聘网站网站改版 数据迁移

西门子S7-1200/1500系列的PLC,采用Profinet实时以太网通讯协议,需要连接带EtherCAT的通讯功能的伺服驱动器等设备,就必须进行通讯协议转换。捷米特JM-EIP-RTU系列的网关提供了,快速可行的解决方案 捷米特JM-ECTM-PN在PROFINET一侧…