软件设计模式系列之二十——备忘录模式

备忘录模式是一种行为型设计模式,它允许我们在不暴露对象内部细节的情况下捕获和恢复对象的内部状态。这个模式非常有用,因为它可以帮助我们实现撤销、恢复和历史记录等功能。在本文中,我们将深入探讨备忘录模式的各个方面,包括定义、示例、结构、实现步骤、代码实现、典型应用场景、优缺点、类似模式以及小结。

设计模式学习(二十):备忘录模式

设计模式学习(二十):备忘录模式 作者:Grey 原文地址: 博客园:设计模式学习(二十):备忘录模式 CSDN:设计模式学习(二十):备忘录模式 备忘录模式 备忘录模式是一种行为型模式。 用于记录对象的某个瞬间,类似快照的功能, 应用实例: 游戏中的「后悔药」; 打游戏时的存档; Windows

Java程序员的MacBookPro(14寸M1)配置备忘录

一名Java程序员兼博客爱好者,拿到MacBook后做了哪些设置呢?

[MAUI 项目实战] 笔记App(一):程序设计

前言 有人说现在记事类app这么多,市场这么卷,为什么还想做一个笔记类App? 一来,去年小孩刚出生,需要一个可以记录喂奶时间的app,发现市面上没有一款app能够在两步内简单记录一个时间,可能iOS可以通过备忘录配合捷径做到快速记录,但是安卓上就没有类似的app。 二是,自去年做的音乐播放器以来,

自学编程两个月,现在我月入 4 万元

这个外国小哥叫 Nico,他一开始是个编程小白,后来把自己关在房间里花了两个月时间学会了编程,如今正在开发一款名为 Talknotes 的应用,可以将语音备忘录转化为结构化的内容,月收入 5000 美元。 Nico 从高中毕业就开始创业,大学只上了一个月就退学了,他尝试了很多方向,最终坚持做跨境电商

[转帖]Firefox 105,Chrome 105,Edge 105 官网离线下载 (macOS, Linux, Windows)

https://sysin.org/blog/chrome-edge-firefox-download/ 备忘一下, 天下只剩三种(主流)浏览器: Apple Safari Mozilla Firefox Google Chrome(Chromium)【国外各种(Microsoft Edge、Ope

[转帖]linux下python环境安装缺少库, The necessary bits to build these optional modules were not found

每次linux安裝python 環境,总是遇到缺少相关依赖的问题,安装一次查一次,醉醉的,这次还是做个备忘吧。 在centos 安装 缺少库名称安装命令_uuidyum install libuuid-develreadlineyum install readline-devel_tkinteryu

瀚高4.5.8的安装部署过程

瀚高4.5.8的安装部署过程 说明 大周末的写文档. 主要是备忘,之前写的太乱了. 本来想自己写一份, 但是怀疑找到了瀚高工程师的文档 准备直接学习一下: https://blog.csdn.net/qiuchenjun/article/details/125985256 感谢原作者 安装 rpm

序列号相关总结和学习

摘要 最近有多个项目出现过因为序列号导致系统吞吐量上不去 性能下降的情况. 晚上想着学习总结一下, 已备忘, 避免后续继续掉坑里. 学习资料来源: https://cdn.modb.pro/db/516085 https://www.cnblogs.com/diabloxl/p/3623640.ht

阿里的AIGC数据库工具: Chat2DB的学习与使用

# 阿里的AIGC数据库工具: Chat2DB的学习与使用 ## 背景 ``` 今天陪家中老人去完医院后, 继续回来学习时发现 阿里巴巴的 chat2DB已经发布的 2.0.1的版本. 想着下载下来试试. 主要也是备忘, 然后尝试学习一下 kingbase ``` ## 下载 ``` https:/

vim工具极简总结

vim工具总结 背景 很多操作记不住. 想着总结当笔记使用. 备忘 基本总结 vim somefile 打开/新建文件 i/a/insert按键 进入插入模式 insert 连续两次 进入替换模式 esc 到命令模式 ctrl+v 进入可视模式 批量操作 命令模式下: dd 删除光标所在行. GG

c++临时对象导致的生命周期问题

对象的生命周期是c++中非常重要的概念,它直接决定了你的程序是否正确以及是否存在安全问题。 今天要说的临时变量导致的生命周期问题是非常常见的,很多时候没有一定经验甚至没法识别出来。光是我自己写、review、回答别人的问题就犯了或者看到了许许多多这类问题,所以我想有必要做个简单的总结,自己备忘的同时

本地JS文件批量压缩

最近在维护一个小后台项目,有段JS需要压缩上传到CDN存储服务器。由于之前压缩的JS文件都比较少,都是手动压缩的。这次需要压缩的文件比较多,所以用了批量压缩。特此记录一下,方便大家和自己以后再用到的时候备忘。 v准备工作 安装nodejs 首先在本地安装node.js和npm,一般npm集成于nod

Ubuntu2204设置固定IP地址

前言 Ubuntu每次升级都会修改一部分组件. 从1804开始Ubuntu开始使用netplan的方式进行网络设置. 但是不同版本的配置一直在升级与变化. 今天掉进坑里折腾了好久. 所以这边总结一下, 以便备忘. 番外 WorkStation虚拟机迁移ESXi 公司机器配置太lowB,跑虚拟机就像是

Cosmic云星瀚的简单学习-测试用户创建

摘要 上一个学习文档里面总结了: 修改domain的url之后就可以重启服务然后登录了. 今天中午创建了一个业务用户,发现还挺麻烦的 因为可能短信服务有问题, 所以我这边需要有改数据库表的需求. 这里简单记录一下. 备忘. 基础数据准备 使用 administrator 登录 http://ip/i

ESXi6.7安装Win11的方法

背景 公司里面要进行新的操作系统验证了. 之前Win10 Win7 Win8 都比较简单. 就是现在Win11有了TPM非常繁琐. 今天必须得搞一把了,就简单搜索了下. 发现还是可以解决的. 然后记录一下进行备忘 TPM TPM代表可信平台模块。 它以计算机主板上的芯片或作为处理器的一部分的形式出现

通过mat获取OOM时对象信息的方法与过程

通过mat获取OOM时对象信息的方法与过程 背景 如果谁的耐心不好, 就让他去看MAT里的objects信息. 有项目出现了OOM的情况 我在公司这边有一台内存比较高的Win10机器. 然后帮助同事进行了dump文件的分析. 为了备忘, 这里简单总结一下. 时间总结 公司网络限速. 总结为: 下载2

一次典型的Memroy Leak的跟踪学习过程

背景 周四时某项目在QQ群里说自己的系统出现了CPU占用较高的情况. TOP 查看发现大部分占用CPU的都是 JAVA核心进城后附近的进程. 所以初步怀疑 是出现了FullGC的问题. 然后群里反馈了dump 以及 tracelog等内容 进行了简单的分析, 这里总结一下, 备忘 关于GC进程 ja

行转列排除重复数据并且对比的方法

行转列排除重复数据并且对比的方法 摘要 出差成都. 突然发现被人当成Shell脚本小子了 今天让对着投影仪确定文件是否正确和完备 几乎闪瞎我的双眼 感觉国家这么多年的英语教育的确卓有成效 看简写, 耗费大半天也猜不出是啥意思来.. 为了能够记录下来,干的事情, 把用到的命令和处理过程记录一下. 备忘

Nginx拆分配置文件的办法

Nginx拆分配置文件的办法 摘要 最近公司使用Nginx进行微服务的路由处理 但是发现随着业务发展, 配置文件越来越复杂. 修改起来也很容易出现错误. 基于此. 想通过拆分配置文件的方式来提高修改效率和准确性. 其实方法非常简单, 记录一下知识备忘. 拆分的方法 其实不需要必须使用 conf.d的