【4】策略模式

server/2024/9/23 4:21:38/

如上图所示,如果要加入一个新的货币,那么就需要对类中的Calculate函数进行修改,这违背了封闭开放原则。

上图中的方式更加合适,搞一个抽象类(方法中可以用多态调用),然后每个货币自己是一个类(拥有自己的不同实现)。在上面的这种实现中,如果新加入一个法国货币,那么只需要加一个法国货币的类,并完成自己的实现即可,不需要改变其他任何类。

 


http://www.ppmy.cn/server/101641.html

相关文章

学习笔记--算法(滑动窗口)9

长度最小的子数组 链接: . - 力扣(LeetCode) 题目:给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其总和大于等于 target 的长度最小的 子数组子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0…

【15】大数据题目等

目录 一.大数据题目的解题技巧​编辑 二.找重复的URL 三.利用小内存找出所有出现两次的数。 四.位运算题目 五.面试原题 六,.判断一个32位正数是不是2的幂,4的幂 七.位运算实现加减乘除 加法 减法 乘法 除法 一.大数据题目的解题技巧 二.找重复的URL 方法…

RocketMQ学习

RocketMQ 如何保证消息不丢失 RocketMQ的消息想要确保不丢失,需要生产者、消费者以及Broker的共同努力,缺一不可。 首先在生产者端,消息的发送分为同步和异步两种,在同步发送消息的情况下,消息的发送会同步阻塞等待…

基于Spring Boot的企业产品档案管理系统

目录 前言 功能设计 系统实现 获取源码 博主主页:百成Java 往期系列:Spring Boot、SSM、JavaWeb、python、小程序 前言 随着企业规模扩张和产品种类增多,手动管理方式不再适应不断增长的需求。因此,本研究的目标是设计和开发…

负载均衡:HAProxy

1.安装: [root haproxy ~ ] # yum -y install ntpdate.x86_64 [root haproxy ~ ] # yum -y install ntp [root haproxy ~ ] # ntpdate cn.ntp.org.cn 13 Aug 19 : 39 : 27 ntpdate[ 1955 ] : adjust time server 120.197.116.202 offset 0.059032 sec…

springMVC访问不同位置的静态资源

resources和webapp目录结构如下图: 1. 访问webapp目录下的静态资源 1. 配置类 开启默认的servlet处理,处理webapp目录下的静态资源访问。需继承WebMvcConfigurer接口。 Configuration EnableWebMvc // 开启Spring MVC的注解驱动 ComponentScan(basePac…

实现基于TCP协议的服务器与客户机间简单通信

服务器端程序 #include <myhead.h> #define SER_PORT 6666 //服务器端口号 #define SER_IP "192.168.2.53" //服务器ip地址 int main(int argc, char const *argv[]) { /*创建套接字 int socket(int domain, int type, int protocol);*/ …

实战项目:贪吃蛇游戏的实现(上)

前言 Hello, 今天我们来一起完成一个实战项目&#xff1a;贪吃蛇。 相信大家都不会对这个游戏感到陌生&#xff0c;贪吃蛇游戏是久负盛名的游戏&#xff0c;他和俄罗斯方块&#xff0c;扫雷游戏等游戏位列世界经典游戏之列。这次我们旨在通过实战项目贪吃蛇的实现&#xff0c…