DeathWhispers

Spring Boot 防抖动

前言 作为一名老码农,在开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;二是我一直遵循某大厂代码规约,在开发过程中尽可能按规约编写代码;三是经过多年的开发经验积累,我成为了一名熟...

开源框架中常见的命名习惯

开源框架中常见的命名习惯 为了让大家更好的理解命名的套路,我借鉴了最流行的 Java 接开源软件( spring 系列,netty, libgdx , guava , logback 等等),总结了10类常见的类命名。大多数是以后缀形式存在的,也有不少可以组合使用,用来表达多重的意义。 这些单词很简单,但可以让你的类命名看起来更加清爽和专业。接下来,我将带大家游览一遍。为了方便理解,...

简单工厂模式 (Simple Factory Pattern) 深度解析

🛠️ 简单工厂模式 (Simple Factory Pattern) 深度解析 1. 模式动机与定义 1.1. 模式动机:集中管理对象创建 在软件应用中,当我们需要使用一组源自同一个基类的对象时(如不同外观的按钮、不同类型的图表等),如果客户端代码直接使用 new 关键字创建这些对象,会导致: 客户端需要知道所有具体产品类的名字和创建细节。 创建逻辑分散在客户端各处,难以维...

代理模式 (Proxy Pattern) 深度解析

🛡️ 代理模式 (Proxy Pattern) 深度解析 1. 模式动机 1.1. 模式动机:实现间接引用与控制 在某些情况下,一个客户端不想或者不能直接引用一个目标对象(真实主题)。此时可以通过一个称之为**“代理”**的第三者来实现间接引用。 通过引入代理对象,可以在客户端和目标对象之间起到中介的作用,并实现以下目标: 控制访问:通过代理对象去掉客户不能看到的内容和服务,...

Spring Boot WebSocket 入门

1. 概述 相比 HTTP 协议来说,WebSocket 协议对大多数后端开发者是比较陌生的。相比来说,WebSocket 协议重点是提供了服务端主动向客户端发送数据的能力,这样我们就可以完成实时性较高的需求。例如说,聊天 IM 即使通讯功能、消息订阅服务、网页游戏等等。 同时,因为 WebSocket 使用 TCP 通信,可以避免重复创建连接,提升通信质量和效率。例如说,美团的长连接服...