分布式 解决方案 模式 方案
实验15:职责链模式
[实验任务一]:财务审批 某物资管理系统中物资采购需要分级审批,主任可以审批1万元及以下的采购单,部门经理可以审批5万元及以下的采购单,副总经理可以审批10万元及以下的采购单,总经理可以审批20万元及以下的采购单,20万元以上的采购单需要开职工大会确定。现用职责链模式设计该系统。 实验要求: 1. ......
实验18:迭代器模式
[实验任务一]:JAVA和C++常见数据结构迭代器的使用 信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA内置迭代器和C++中标准模板库(STL)实现对同学信息的遍历,要求按照学号从小到大和从大到小两种次序输出学生信息。 实验要求: 1. 搜集并掌握JAVA和C++中常 ......
实验 24:模板方法模式
[实验任务一]:数据库连接 对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、openDB()、useDB()、closeDB()四个方法分别对应这四个步骤。对于不同类型的数据库(如SQL Server和Oracle),其操作步骤都一致,只是连接数据 ......
实验19:中介者模式
[实验任务一]:虚拟聊天室 在“虚拟聊天室”实例中增加一个新的具体聊天室类和一个新的具体会员类,要求如下: 1. 新的具体聊天室中发送的图片大小不得超过20M。 2. 新的具体聊天室中发送的文字长度不得超过100个字符。 3. 新的具体会员类可以发送图片信息和文本信息。 4. 新的具体会员类在发送文 ......
实验 20:备忘录模式
[实验任务一]:多次撤销 改进课堂上的“用户信息操作撤销”实例,使得系统可以实现多次撤销(可以使用HashMap、ArrayList等集合数据结构实现)。 实验要求: 1. 提交源代码; package rjsj.no20; public class Client { public static v ......
实验 21:观察者模式
[实验任务一]:股票提醒 当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下降时会大哭一场。 实验要求: 1. 提交源代码; package test21; // 观察者接口,股民 interface Observer { void update(do ......
实验 25:访问者模式
[实验任务一]:打包员 在我们课堂上的“购物车”的例子中,增加一个新的访问者:打包员,负责对购物车中货物装包。 实验要求: 1. 提交源代码,不要提交类图; package test25; public abstract class AbstractGoods implements Goods{ p ......
实验6:原型模式
[实验任务一]:向量的原型 用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比较这两种克隆方式的异同。 实验要求: 1. 画出对应的类图; 2. 提交源代码(用C++完成); #include "stdafx.h" using namespace ......
实验9:桥接模式
[实验任务一]:两个维度的桥接模式 用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。 实验要求: 1. 画出对应的类图; 2. 提交源代码; #include <iostream> using namespace std; class Transportati ......
实验10:组合模式
[实验任务一]:组合模式 用透明组合模式实现教材中的“文件夹浏览”这个例子。 实验要求: 1. 文件的执行不需真正实现,只需简单提示即可; 2. 提交源代码; #pragma once #include<iostream> #include<string> #include<vector> usin ......
实验11:装饰模式
[实验任务一]:手机功能的升级 用装饰模式模拟手机功能的升级过程:简单的手机(SimplePhone)在接收来电时,会发出声音提醒主人;而JarPhone除了声音还能振动;更高级的手机(ComplexPhone)除了声音、振动外,还有灯光闪烁提示。 实验要求: 1. 提交类图; 2. 提交源代码; ......
实验12:外观模式
[实验任务一]:计算机开启 在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load ......
实验5:建造者模式
[实验任务一]:计算机组装 使用建造者模式,完成下述任务:计算机组装工厂可以将CPU、内存、硬盘、主机等硬件设备组装在一起构成计算机,计算机的类型可以是笔记本,也可以是台式机。 实验要求: 1. 画出对应的类图; 2. 提交源代码; package test5; public class Compu ......
实验7:单例模式
[实验任务一]:学号的单一 仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。 实验要求: 1. 画出对应的类图; 2. 提交源代码; package test7; public class Client { public static void main(String[] args) { ......
实验8:适配器模式
[实验任务一]:双向适配器 实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。 实验要求: 1. 画出对应的类图; 2. 提交源代码; public class Adapter implements CatTarget, DogAdaptee { private CatTarget catta ......
实验3:工厂方法模式
[实验任务一]:加密算法 目前常用的加密算法有DES(Data Encryption Standard)和IDEA(International Data Encryption Algorithm)国际数据加密算法等,请用工厂方法实现加密算法系统。 实验要求: 1. 画出对应的类图; 2.提交该系统的 ......
实验4:抽象工厂模式
[实验任务一]:人与肤色 使用抽象工厂模式,完成下述产品等级结构: 实验要求: 1. 画出对应的类图; 2. 提交源代码; AbstractFactory类: package com.shiyan4; public interface AbstractFactory { public Man pro ......
实验2:简单工厂模式
[实验任务一]:女娲造人 使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。 实验要求: 1. 画出对应的类图; 2. 提交源代码 TEST.J ......
[转]Java8字符串和时间相互转换,使用模式字母的易错点
原文地址:Java 8 字符串和时间相互转换_java8字符串转时间-CSDN博客 1. 常见日期转换符号说明符号 说明 备注y 年 Y 本周所在的年 如果日期所在的周跨年了,年份就会是第二年的,需要注意M 月(month-of-year) d 日(day-of-month) D 年内的第几天(da ......
解决PS“暂存盘已满”错误
问题:PS“暂存盘已满”错误 原因: PS在运行程序时会将文件的相关数据参数保存到暂存区。当提醒暂存盘满了,说明你当前PS运行的使用空间空间不足了,所以在运行时一定要保留有足够空间来运行PS。 解决方案 注意: 在使用Photoshop前,设置PS可以使用的硬盘容量具有50GB的可用空间。PS会根据 ......
中间件 ZK分布式专题与Dubbo微服务入门 4-5 set与delete命令的使用
0 课程地址 https://coding.imooc.com/lesson/201.html#mid=12701 1 重点关注 1.1 如何添加watch stat /imooc watch 不存在的节点,可以用该命令,多用于新增 get /imooc watch 修改删除节点等,可以用该命令 z ......
解决FontConfiguration.getVersion报空指针异常的问题
linux (ubuntu18),java导出excel文件 报异常 sun.awt.FontConfiguration.getVersion java.lang.NullPointerException 解决方法,安装 fontconfig,安装顺序如图 文件下载地址: https://pkgs. ......
QRCoder1.4.3生成二维码,不依赖System.Drawing,解决"未能找到类型或命名空间名QRCode","及ImageFormatPng仅在windows上受支持"
生成二维码1(简单) 包引用: <PackageReference Include="QRCoder" Version="1.4.3" /> /// <summary> /// 生成二维码 /// </summary> /// <param name="data">escape后的数据,防止中文等特 ......
[转帖]Oracle中unicode的几种不同字符编码模式
https://zhuanlan.zhihu.com/p/668340691# 在Oracle中unicode字符集中,存在以下几种不同unicode字符集的编码模式 AL32UTF8 UTF8 AL16UTF16 UTF-16BE UTF-16LE 下面讲一下它们的在Oracle一般都用在哪里以及 ......
解决启用C++17后byte重定义的问题(byte ambiguous )
转自:https://www.cnblogs.com/airscrat/p/15923659.html 在C++ 17的cstddef文件中引入了 一种std::byte类型,在部分项目升级时往往会与系统中的byte定义冲突,导致编译失败。 但std::byte类型是在std命名空间下,根本的问题在 ......
mybatis解决nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping:
错误原因 在mybatis中SQL添加了注释 解决方法 删除相关无用语句 参考链接 【1】https://blog.csdn.net/daming1/article/details/107336871 ......
Windows中无法打开MSI安装文件的解决办法
一,开启服务 按Win + R组合键打开“运行”窗口。 输入services.msc并点击确定。 在弹出的服务列表中,找到Windows Installer服务。 确保其状态为“已启动”。 如果没有启动,右键点击,选择“启动”。 二,命令启动 msiexec /package [路径]***.msi ......
RHCL8无法使用yum install的解决方法
报错如下: Updating Subscription Management repositories. Unable to read consumer identity This system is not registered to Red Hat Subscription Managemen ......
Name or service not known 完美解决
VMware CentOS7 Ping指令报错:Name or service not known1.问题实质:网络配置错误 2.问题原因:本地虚拟机网卡,虚拟机网络,虚拟机内部CentOS系统,三方网络配置不匹配 3.解决思路:保证本地虚拟机网卡,虚拟机网络,虚拟机内部CentOS系统,三方网络配 ......