RocketMQ 是大家耳熟能详的消息队列,开源项目 rocketmq-spring 可以帮助开发者在 Spring Boot 项目中快速整合 RocketMQ。 这篇文章会介绍 Spring Boot 项目使用 rocketmq-spring SDK 实现消息收发的操作流程,同时笔者会从开发者的角 ...
简介 命令模式(Command Pattern)是一种数据驱动的设计模式,也是一种行为型设计模式。这种模式的请求以命令的形式包裹在对象中,并传给调用对象。调用对象再寻找合适的对象,并把该命令传给相应的处理者。即把请求或操作封装成单个对象,并使其可以被参数化和延迟执行,这种方式将命令和执行者进行了有效 ...
工厂方法模式是一种创建型设计模式, 提供一种统一的方式来创建对象, 调用者无需关心具体的构建细节 对象的创建过程被封装在工厂类中, 调用者只需要使用一个共同的接口来获取对象, 不需要直接使用new操作符 这样可以降低客户端和具体产品类之间的耦合度, 提高系统的可扩展性和可维护性 工厂方法模式的作用 ...
定义 观察者模式属于行为型模式,它定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知,并自动更新。 一种一对多的关系中一称为被观察者也叫目标对象Subject而多则称为观察者对象Observer 观察者模式中通常有两个模型,一个观察者(observer)和 ...
UML 类图 1 类图的结构 用动物园的类图结构来举例,先抽象化动物类如图所示: 一个类图包括类名、属性和行为,类名不用解释,在介绍属性和行为前,先了解一下访问权限: ‘ - ’ private:只有类内部的成员才能访问 ‘ + ’ public:类内部和类外部都能访问 ‘ # ’ protecte ...
用了好多年微服务架构了,我经常会反思,这个项目为啥用微服务?真的能帮我们解决一些痛点吗?这个项目有必要用微服务吗?这个项目体现出微服务的价值了吗? 我是从2017年开始入手微服务,距今已经五六年了。在此期间,遇到的大小项目,基本都是用微服务架构开发的,其中有数字化工厂项目、教辅系列平台、政府行政审批 ...
23种设计模式之 : 模板方法设计模式 每博一文案 青年,青年!无论受怎样的挫折和打击,都要咬着牙关挺住,因为你们完全有机会重建生活;只要不灰心丧气,每一次挫折就只不过是通往新境界的一块普通绊脚石,而绝不会置人于死命。 昨天很辛苦,今天很残酷,明天很美好,大部分人撑不到明天。 缘来缘去自由定数,知足 ...
XSS攻击是什么? XSS攻击是指攻击者利用网站中的漏洞,向页面中注入恶意脚本,从而获取用户的信息或者控制用户的计算机。 举一个通俗的例子,早期使用JSP页面渲染页面的项目,如果将用户名改成nick<alert>1</alert>,则当用户打开页面时,就会弹出一个警告框,而这个警告框可以被恶意脚本所 ...
一站式的消息管理器 在网络应用中,消息处理是必不可少的,该文章主要简单介绍一款简单的消息管理器的实现,其具备以下功能: 提供多种消息序列化和反序列化方式,目前支持JDK、ProtoStuff以及JSON,提供其他自定义的序列化/反序列化器插口。 提供多种消息加密/解密,目前支持对称加密:AES、不对 ...
UML(Unified Modeling Language)统一建模语言 power designer中给类的“操作”添加“输入参数” 查看所设计类的代码: 类和类的六种关系 1 继承关系(泛化关系) 语义:子类和父类之间的关系 语法:extends 符号:(子类指向父类) power design ...
OOP 1-3次作业总结 22201303-范宇 前言 第一次BLOG,对第一阶段的学习总结。 前三次题目集总体上更偏向于JAVA语法上的训练,第二次与第三次题目集中的后两道需要一点逻辑思维。题量我个人认为适中,整体难度我认为恰到好处,就是那种需要一定时间思考,但又不至于难到完成不了。 设计与分析 ...
一 前言: 题目集一:此题目集主要考察输入语句和循环语句以及对字符串的操作,如第一到四题考察输入输出,第五第十一第十二考察循环语句,第六题到第八题考察字符串操作,题量较大且个别题目难度较大。 题目集二:此题目集主要考察对输入信息的判断和数学计算,如前三题的长度质量计量单位换算和奇数求和和房地产税费计 ...
代理模式(Proxy Pattern)是一种结构型设计模式,结构型模式描述如何将类或对象按某种布局组成更大的结构。它允许你提供一个代理对象来控制对另一个对象的访问。代理对象拥有与实际对象相同的接口,因此它可以被用来代替实际对象。 ...
在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。在不同的书籍上, 不同的作者, 对于架构的定义也不统一, 角度不同, 定义不同。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义, 因为概念是人认识这个世界的基础和用来沟通的手段,如果对架构概... ...
title: "modern C++ DesignPattern-Part3" date: 2018-04-12T19:08:49+08:00 lastmod: 2018-04-12T19:08:49+08:00 keywords: [设计模式, C++] tags: [设计模式] categori ...
领域驱动设计(Domain Driven Design,简称:DDD)设计思想和方法论早在2005年时候就被提出来,但是一直没有被重视和推荐使用,直到2015年之后微服务流行之后,再次被人重视和推荐使用。 下面我来介绍一下DDD设计思想和方法论,同时结合我们在实际项目中应用总结和思考。 目录 1、为 ...
## 一、案例背景 计算机包含内存(RAM),CPU 等硬件设备,根据如图所示的“产品等级结构-产品族示意图”,使用抽象工厂模式实现计算机设备创建过程并绘制类图 ![image](https://img2023.cnblogs.com/blog/3143233/202303/3143233-2023 ...
六大原则是设计模式的基石, 是后面所提具体的二十三种设计模式的指导思想 总则: 开放封闭原则 对扩展开放, 对修改封闭 当我们需要添加新的功能时, 可以通过添加新的代码或者模块来实现, 而不需要修改已有的功能模块, 这样可以避免新增的功能影响到原来已经在正常运行的功能 最简单的例子就是函数重载 pu ...
设计模式是个老生常谈的话题, 不同的人对此有不同的看法 新手可能会觉得设计模式难以理解, 并且也只与编程语言有关, 或者只与前端后端有关, 适用范围很窄 或者就干脆觉得这玩意儿没啥卵用, 写了那么一大坨只是让代码变得复杂难懂, 不如直接复制黏贴删删改改来得方便 老手可能会觉得设计模式就是yyds, ...
概述 KCP协议结合了TCP和UDP协议的特点,是一个快速可靠的协议。 引述官方介绍: KCP是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并不负责底层协议(如UDP)的收发,需要使用者自己定义下层数据的 ...