实验4 设计模式实验3
实验内容:
1. 某软件公司为新开发的智能手机控制与管理软件提供了一键备份功能,通
过该功能可以将原本存储在手机中的通信录、短信、照片、歌曲等资料一次性全
部拷贝到移动存储介质(例如MMC 卡或SD 卡)中。在实现过程中需要与多个
已有的类进行交互,例如通讯录管理类、短信管理类等。
为了降低系统的耦合度,试使用外观模式来设计并编程模拟实现该一键备份
功能。
答(类图):

其中,OneKeyBackup 充当外观角色,ContactManager、MessageManager 和
FileManager 充当子系统角色。
2. 在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基
础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方
法method()调用之前输出“方法method()被调用,调用时间为2022-12-12
10:10:10”,调用之后如果没有抛异常则输出“方法method()调用成功”,否则输
出“方法method()调用失败”。
在代理类中调用真实业务类的业务方法,使用代理模式设计该日志记录模块
的结构,绘制类图并编程模拟实现。
答(类图):
相关文章:
实验4 设计模式实验3
实验内容: 1. 某软件公司为新开发的智能手机控制与管理软件提供了一键备份功能,通 过该功能可以将原本存储在手机中的通信录、短信、照片、歌曲等资料一次性全 部拷贝到移动存储介质(例如MMC 卡或SD 卡)中。在实现过程中需要与多个 已有的类进行交互,例如通讯录管理类、短信…...
CNN基础
Tip:仅供自己学习记录,酌情参考 1. 前馈与反馈神经网络 神经网络有前馈神经网络和反馈神经网络,前向神经网络也就是前馈神经网络。 前馈型神经网络各神经元接收前一层的输入,并输出给下一层,没有反馈。节点分为两类…...
【UEFI基础】UEFI事件介绍
简述 在【UEFI基础】System Table和Architecture Protocols介绍Boot Service时提到有一部分与事件相关的接口,它们创建、触发、等待和关闭事件,来完成某些功能,本文将进一步介绍事件。 需要注意,因为Boot Service需要在DXE阶段才…...
Markdown 语法速查表
Markdown 速查表提供了所有 Markdown 语法元素的基本解释。如果你想了解某些语法元素的更多信息,请参阅更详细的基本语法和拓展语法。 #基本语法 这些是 John Gruber 的原始设计文档中列出的元素。所有 Markdown 应用程序都支持这些元素。 元素Markdown 语法标题…...
【C++】-- 类型转换
目录 前言 C语言中的类型转换 C强制类型转换 static_cast(static静止的) reinterpret_cast(reinterpret重新解释) const_cast(const常量) 总结 dynamic_cast(dynamic动态) …...
汇编基础语法和指令总结+案例(用32位汇编实现插入排序)
目录 前提知识 案例 c的插入排序 32位汇编代码 代码分析 效果展示 前提知识 常用指令add指令 sub指令 mul乘法指令 div除法指令 inc(自增)(即) dec(自减)(即--) cmp…...
C++多线程--线程安全的单例模式
0 引言 由于最近事情比较多,所以很久没有更新相应的专栏了。目前事情基本告一段落,重新恢复相应专栏的更新。 本文主要讲解在C++并发编程中如何实现线程安全的单例模式。本文主要由如下几部分构成 臭名昭著的double-check单例实现四种线程安全的单例模式单例模式使用中所带…...
(Android-RTC-9)PeerConnectionFactory
开篇前瞎扯。很久没发技术文章了,此文一直放着草稿箱没有完成,感觉自己在家庭和工作中找到了拖延的借口,开始慢慢变得懒惰了,那是万万不行的。恰逢2023开年ChatGPT的爆火,更让我这些普通程序员危机感瞬间飙升ÿ…...
Vector - CAPL - 定时器函数和使用
定时器在C语言中的使用我想学习过C编程的都不会陌生,它能够提供延时,完成等待一定的时间;它也可以实现多线程的操作,并行实行某些软件功能。那在CAPL中,定时器又能做哪些工作呢?又是怎么使用的呢࿱…...
【嵌入式C】常见问题
1、goto的使用场景有哪些?并讨论其局限? (1)常用来跳出死循坏; (2)在linux开发中,常用于打印错误; (3)goto在某些使用场合会破坏程序的栈逻辑&…...
[神经网络]Transfomer架构
一、概述 Transfomer架构与传统CNN和RNN最大的区别在于其仅依赖自注意力机制,而没有卷积/循环操作。其相较于RNN,不需要进行时序运算,可以更好的进行并行;相较于CNN,其一次可以关注全图而不局限于感受野尺寸。 二、模…...
C++之多态 虚函数表
多态 多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。 需要区分一下:1、菱形虚拟继承,是在继承方式前面加上virtual; class Person {}; class Student : virtual public Person {}; class Teacher…...
AI_Papers周刊:第四期
2023.02.28—2023.03.05 Top Papers Subjects: cs.CL 1.Language Is Not All You Need: Aligning Perception with Language Models 标题:KOSMOS-1:语言不是你所需要的全部:将感知与语言模型相结合 作者:Shaohan Huang, Li …...
A Simple Framework for Contrastive Learning of Visual Representations阅读笔记
论文地址:https://arxiv.org/pdf/2002.05709.pdf 目前流行的无监督学范式。通过训练,使模型拥有比较的能力。即,模型能够区别两个数据(instance)是否是相同的。这在 深度聚类 领域受到广泛的关注。(在有监…...
mac安装开发工具:clipy、iterm2、go、brew、mysql、redis、wget等
wget brew install wget clipy Releases Clipy/Clipy GitHub 环境变量 ~下有三个文件 .zshrc .zprofile .bash_profile > cat .zshrc export PATH$PATH:/usr/local/mysql/bin> cat .zprofile eval "$(/opt/homebrew/bin/brew shellenv)"> cat .bas…...
DJ1-1 计算机网络和因特网
目录 一、计算机网络 二、Interent 1. Internet 的介绍 2. Internet 的具体构成 3. Internet 提供的服务 4. Internet 的通信控制 一、计算机网络 定义:是指两台以上具有独立操作系统的计算机通过某些介质连接成的相互共享软硬件资源的集合体。 计算机网络向…...
[1.3.3]计算机系统概述——系统调用
文章目录第一章 计算机系统概述系统调用(一)什么是系统调用,有何作用(二)系统调用与库函数的区别(三)小例子:为什么系统调用是必须的(四)什么功能要用到系统调…...
【Java开发】JUC进阶 03:读写锁、阻塞队列、同步队列
1 读写锁(ReadWriteLock)📌 要点实现类:ReentrantReadWirteLock通过读写锁实现更细粒度的控制,当然通过Synchronized和Lock锁也能达到目的,不过他们会在写入和读取操作都给加锁,影响性能&#x…...
Fragment中获取Activity的一点点建议
平时的Android开发中,我们经常要在Fragment中去获取当前的Activity实例,刚开始的时候可能使用使用Fragment提供的getActivity方法来获取,但是这个方法可能返回null,为了让程序可以正常运行,项目中就出现大量下面这样的…...
Java Math类
Java Math 类是 Java 标准库中提供的一个数学计算类,它提供了很多数学函数,如三角函数、指数函数、对数函数等。在实际工作中,Java Math 类常常被用于处理数学计算问题,例如计算复杂的数学公式、实现数学算法等。本文将详细介绍 J…...
WebGLStudio.js实时反射技术终极指南:环境映射与反射探针完全解析
WebGLStudio.js实时反射技术终极指南:环境映射与反射探针完全解析 【免费下载链接】webglstudio.js A full open source 3D graphics editor in the browser, with scene editor, coding pad, graph editor, virtual file system, and many features more. 项目地…...
软萌拆拆屋惊艳效果:多层叠穿服饰逐层展开结构图生成案例
软萌拆拆屋惊艳效果:多层叠穿服饰逐层展开结构图生成案例 1. 引言:当AI遇见“拆解美学” 想象一下,你有一件设计精巧的洛丽塔裙子,上面缀满了蕾丝、蝴蝶结和复杂的褶皱。你想向别人展示它的每一个精妙细节,但一张普通…...
OpenClaw v2026.4.1 深度剖析报告:任务系统、协作生态与安全范式的全面跃迁
摘要本报告旨在对 OpenClaw 于 2026 年 4 月 2 日发布的 v2026.4.1 版本进行一次全面、深入、颗粒度至极的技术与战略解构。该版本由 30 余位社区贡献者共同完成,标志着 OpenClaw 在经历了 3 月份“架构重塑”与“安全加固”的底层革命后,正式迈入“体验…...
一键切换模型:OpenClaw同时管理多个SecGPT-14B实例
一键切换模型:OpenClaw同时管理多个SecGPT-14B实例 1. 为什么需要管理多个模型实例 去年我在搭建本地AI安全分析系统时,遇到了一个典型困境:当SecGPT-14B模型需要版本升级时,整个服务必须停机。更糟的是,有次模型推理…...
M5Stamp C3 Mate LED驱动库:基于RMT的WS2812B精简控制方案
1. 项目概述M5StampC3LED 是专为 M5Stamp C3 Mate 模块设计的 LED 控制库,其本质是一个轻量级封装层,用于驱动板载的 Adafruit NeoPixel(WS2812B 兼容)RGB LED。该库不直接实现底层时序协议,而是基于 ESP-IDF 或 Ardui…...
新手福音:用快马平台理解openclaw架构图并生成你的第一个应用
新手福音:用快马平台理解openclaw架构图并生成你的第一个应用 作为一个刚入门的开发者,第一次看到openclaw架构图时,那些方框和箭头让我一头雾水。直到在InsCode(快马)平台上动手实践后,才发现原来架构图可以这么直观。下面分享我…...
5分钟搞定OpenClaw+千问3.5-27B:星图平台镜像一键体验方案
5分钟搞定OpenClaw千问3.5-27B:星图平台镜像一键体验方案 1. 为什么选择云端沙盒方案 上周我尝试在本地笔记本上部署OpenClaw时,被各种环境依赖和权限问题折磨了整整两天。当看到星图平台提供预装OpenClaw和千问3.5-27B的完整镜像时,简直像…...
量子态可视化太难?用C++ + ImGUI实时渲染Bloch球+概率幅热力图(含跨平台编译脚本)
第一章:量子态可视化太难?用C ImGUI实时渲染Bloch球概率幅热力图(含跨平台编译脚本)量子计算教学与算法调试中,单量子比特态的几何表示——Bloch球——是理解叠加、相位与测量的核心工具;而复数概率幅的模…...
DHL集团与中国外运将进一步深化全球业务协同
、美通社消息:近日,DHL集团与中国外运正式签署谅解备忘录。双方宣布,将在过往坚实合作的基础上,进一步深化全球业务协同,共同开启新一轮战略对话与长远布局。此次签约正值双方合资公司——中外运敦豪成立四十周年。作为…...
从脉冲到CAN总线:一文搞懂Emm42 V5.0步进闭环驱动的四种控制方式(含Arduino/PLC接线示例)
从脉冲到CAN总线:Emm42 V5.0步进闭环驱动的四种控制方式深度解析 在工业自动化和嵌入式开发领域,步进电机的精确控制一直是工程师们关注的重点。Emm42 V5.0步进闭环驱动器作为新一代高性能驱动解决方案,凭借其丰富的控制接口和先进的FOC矢量…...
