访问者 模式

C++设计模式03 —— 策略模式

策略模式 当面对大量相似的具有不同实现逻辑的业务,为了使代码具有很好的复用性,我们使用策略模式。 我们以税法为例,多国的税法具有相似的功能,但是具体的计算方式差别很大。为了能快速地扩展其他国家的税法代码,满足设计模式要求,我们先创建一个纯虚的税法基类,里面包含了税法功能的纯虚函数。而后,不同国家的税 ......
模式 设计模式 策略

单例模式

单例模式 【一】什么是设计模式 解决问题的模板,大牛们会遇到各种各样的问题,长久一来就形成了一套相对规范的解决办法 【二】使用模式的好处 设计模式可以帮助开发人员编写高质量、可重用和易于维护的代码。 通过使用设计模式,开发人员可以避免重复劳动,并确保他们的代码遵循最佳实践和行业标准。 【三】设计模式 ......
模式

模式识别自学笔记:最小风险贝叶斯决策

实质:在最小错误率贝叶斯决策的基础上加权加上了损失函数 λ 基本流程: 1、用贝叶斯公式求后验概率 P(ωi|x) 2、在决策表中查找损失函数 λ(αi|ωj) 求期望损失 R(αi|x) R(αi|x) = λ(αi|ω1) * P(ωi|x) + λ(αi|ω2) * P(ωi|x) + ... ......
风险 模式 笔记

Rust 枚举和模式匹配

目录枚举的定义枚举值将数据直接放进每一个枚举成员将不同类型和数量的数据放入枚举成员有关联值的枚举和结构体的相似性使用 impl 在枚举上定义方法Option 枚举和其相对于空值的优势match 控制流结构绑定值的模式匹配 Option<T>匹配是穷尽的通配模式和 _ 占位符if let 简洁控制流 ......
模式 Rust

arch xfce启用自动挂载usb设备,自动访问usb设备,自动连接usb设备

1.安装gvfs sudo pacman -S gvfs GVFS(Gnome Virtual File System)是一个用于 GNOME 桌面环境的虚拟文件系统,它提供了一种统一的方式来访问和管理各种不同的文件系统、网络资源和存储设备。GVFS 提供了一个抽象层,使得用户可以通过一个统一的接口 ......
设备 usb arch xfce

关于对Java单例模式的理解与简述

本文主要阐述单例模式的基础实现,重心在于如何解决单例模式中的“线程安全”问题。不涉及理论。 如果文中阐述不全或不对的,多多交流。 ......
模式 Java

实验 25:访问者模式

[实验任务一]:打包员 在我们课堂上的“购物车”的例子中,增加一个新的访问者:打包员,负责对购物车中货物装包。 实验要求: 1. 提交源代码,不要提交类图; package test25; public abstract class AbstractGoods implements Goods{ p ......
访问者 模式

实验14:代理模式

[实验任务一]:婚介所 婚介所其实就是找对象的一个代理,请仿照我们的课堂例子“论坛权限控制代理”完成这个实际问题,其中如果年纪小于18周岁,婚介所会提示“对不起,不能早恋!”,并终止业务。 实验要求: 1. 提交类图; 2. 提交源代码; package test14; public interfa ......
模式

实验16:命令模式

[实验任务一]:多次撤销和重复的命令模式 某系统需要提供一个命令集合(注:可以使用链表,栈等集合对象实现),用于存储一系列命令对象,并通过该命令集合实现多次undo()和redo()操作,可以使用加法运算来模拟实现。 实验要求: 1. 提交类图; 2. 提交源代码; package test16; ......
命令 模式

实验 22:状态模式

[实验任务一]:银行账户 用Java代码模拟实现课堂上的“银行账户”的实例,要求编写客户端测试代码模拟用户存款和取款,注意账户对象状态和行为的变化。 实验要求: 1. 提交源代码; package test22; public class Account { private AccountState ......
状态 模式

实验 23:策略模式

[实验任务一]:旅行方式的选择 旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。 实验要求: 1. 提交源代码; package test23; public class AirplaneStrategy implem ......
策略 模式

实验13:享元模式

[实验任务一]:围棋 设计一个围棋软件,在系统中只存在一个白 棋对象和一个黑棋对象,但是它们可以在棋盘的不同位置显示多次。 实验要求: 1. 提交类图; 2. 提交源代码; package test; public class BlackPiece extends Piece{ @Override ......
模式

实验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 ......
观察者 模式

实验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 ......
字符串 字母 字符 模式 时间
共4800篇  :3/160页 首页上一页3下一页尾页