刷新
NCHU OOP BLOG1--电梯调度程序

NCHU OOP BLOG1--电梯调度程序 目录 1.前言 2.设计与分析 3.踩坑心得 4.改进建议 5.总结 正文 1.前言 这三次大作业主要围绕的对电梯的调度来展开,调度算法为LOOK算法,实际上,比现实中的一些电梯所用算法更简单。 其中,第一次作业难度最大,后面两次作业进行迭代并不难; 考 ...

《建筑的永恒之道》第 1 章:永恒之道

博主头像 有一条永恒的建筑之道。它存在了千百年之久,至今依然如故;而且,别无它道可以产生充满活力的建筑或城市。它并非是个可被加到事物之上的外在的方法,相反它是深植于我们之中的一个过程,只需加以释放,使建筑优美的能力已存在于我们每个人之中。 ...

UML之序列图的消息

博主头像 本文阐述了UML序列图中消息的类型与特性。同步消息采用实心箭头实线表示,发送方需等待接收方返回虚线箭头标记的响应,但允许非阻塞等待;异步消息以V形箭头实线呈现,发送方无需等待且接收方须为活动类,适用于中断或Web交互场景;自消息既可同步也可异步,用于对象内部通信。消息可携带参数且需类型匹配,返回消息... ...

RabbitMQ常见问题

博主头像 RabbitMQ 1、记一次线上RabbitMQ的堵塞问题 当时解决问题参考的文档:https://www.codenong.com/cs109484329/ 1、背景 RabbitMQ同步外省市运单到本系统中 2、问题 某天早上上班,发现运维群里有很多企业反馈,在系统中查不到自己最新的运单了,当时 ...

面试官:如果某个业务量突然提升100倍QPS你会怎么做?

博主头像 “假设你负责的系统,某个业务线的QPS突然暴增100倍,你会怎么应对?” ——这是上周朋友去面试,被问到一道题,他答了“加机器扩容”,结果面试官眉头一皱:“如果机器不够呢?如果数据库崩了呢?”朋友当场卡壳。其实这道题就像“高压水枪”,专冲知识漏洞。 作为开发者,如果只回答“加机器”“扩容”,可能直接 ...

分享个人设计模式笔记文档:《掌握设计模式:23种经典模式实践、选择、价值与思想》

博主头像 本文主要分享我的设计模式笔记PDF文档:《掌握设计模式:23种经典模式实践、选择、价值与思想》 这只是设计模式的秘籍1:《掌握设计模式:23种经典模式实践、选择、价值与思想》 后续还会分享练手项目秘籍2:设计模式实战项目--markdown文本编辑器软件开发(开放所有源代码) 前言 为什么要写这份资 ...

为什么学习设计模式?

博主头像 1. 学习设计模式的意义:让代码更优雅,让开发更从容 设计模式的学习常常被贴上“枯燥”“抽象”的标签,但它更像一本软件开发的“烹饪食谱”——不是要求你死记硬背,而是教会你如何用更巧妙的方式组合代码的“食材”,最终做出一道既美味(功能完善)又美观(易于维护)的“佳肴”。以下是它的核心价值与意义: 1. ...

行为型设计模式——观察者模式

博主头像 观察者模式(Observer Pattern)是一种行为型设计模式,通过定义对象间一对多的依赖关系实现状态变化的自动通知机制,广泛应用于解耦事件发布与订阅场景 适用于 ①当一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这两者封装在独立地对象中以使它们可以各自独立地改变和复用。 ②当对一个对 ...

UML之序列图的参与者与生命线

博主头像 参与者是交互中的可连接元素,它不是类或对象,而是类型化的角色。生命线代表一个参与者按时间顺序排列的事件序列,从顶部到底部代表时间顺序。生命线可在交互过程中创建或终结。 ...

学了设计模式,却不知道怎么选择?

博主头像 本人主要讲述设计模式怎么去选择,这仅仅是不知从何下手提供一个抓手的东西,并不是银弹。常想、多用,积累经验后,方可灵活运用,做到无模式胜有模式,才可能会在复杂场景中,设计出高质量的系统。 设计模式的选择是一个从问题到解决方案的递进过程。通过明确问题类型、分析目标特性、遵循设计原则以及结合场景需求,可以 ...

[设计模式]行为型-备忘录模式

博主头像 简介 备忘录模式(Memento Pattern)是一种行为型设计模式,它允许生成对象状态的快照并在以后将其还原。备忘录模式不会影响它所处理对象的内部结构,也不会影响快照中存储的数据。简单来说,它就像游戏中的“保存”和“加载”功能。 组成角色: Originator(发起人): 主要用于生成自身状态 ...

设计模式脉络

软件的可扩展性 软件善变,可扩展性成为评价软件生命力的重要指标。 所谓的可扩展性是指软件为了应对将来的业务变化,而提供的扩展能力。当有新的业务发生时,可扩展性较好的软件仅需小范围修改就能提供支持,它们可以保持总体上的稳定。 传统的结构化软件设计方法在这方面力有不及,面向对象方法却有一些天然的优势。 ...

掌握设计模式--解释器模式

博主头像 解释器模式(Interpreter Pattern) 解释器模式(Interpreter Pattern)是一种行为型设计模式,用于定义一种语言的文法表示,并提供一个解释器来解释该语言中的句子。这种模式通常用于开发需要解析、解释和执行特定语言或表达式的应用程序。 主要目的是为特定类型的问题定义一种语 ...

DDD重构项目

博主头像 云图库项目ddd重构 把原项目复制一份,用副本进行项目重构 原结构为 com.yupi.yupicturebackend.xxx,保留 com.yupi,新建一个和 yupicturebackend 包同级的包来当作ddd重构包 把主类 xxxApplication 先拖到新建的根包中。因为主类会扫 ...

用99元买的服务器搭一套CI/CD系统

博主头像 故事的开始是这样的:无聊的时候在阿里云买了一个99/年的服务,上面部署了一个Git服务,用于托管自己无聊时写的一些代码,顺便也拿它做开发服务器。为了方便应用管理,起初用docker来管理和部署应用,后来升级了一把,用上了docker-compose,毕竟跟手撕命令相比声明式部署更显科学,docker ...

掌握设计模式--状态模式

博主头像 状态模式(State Pattern) 状态模式(State Pattern)是一种行为设计模式,它允许对象在其内部状态改变时改变其行为,看起来像是改变了其类。这种模式通常用于解决对象在运行时状态多变且行为复杂的问题。 核心思想:将状态与行为绑定,每种状态对应一个具体类有独立的行为逻辑,状态的切换只 ...

UML之扩展用例

博主头像 UML扩展用例用于在基本用例中附加可选功能或后续新增逻辑。它通过«extend»关系将扩展用例与基本用例关联,方向由扩展用例指向基本用例。基本用例中可定义“扩展点”标识触发扩展的位置,扩展条件通过约束明确执行时机。扩展支持多层级结构,允许扩展用例自身被进一步扩展,形成用例扩展迭代链。该机制适用于灵活... ...

<123···50>