《🌹🍷🍷炫技亮点🍷🍷》
文章平均质量分 87
架构点睛 - 炫技系列
项目中发现优秀的技术点
各种软件、中间件和框架中的闪亮点
lakernote
不停的复盘自己,砥砺前行,不忘初衷
展开
-
炫技亮点 优雅处理数据流程 流水线模式
当一个复杂的任务可以分解为多个独立的阶段,每个阶段都完成特定的子任务时,可以考虑使用流水线模式。这有助于提高系统的模块化和可维护性。如果系统需要经常添加新功能或阶段,并且希望新的功能可以轻松地集成到已有的处理流程中,流水线模式提供了良好的可扩展性。当任务的不同阶段可以独立执行时,流水线模式允许并行处理,提高整体性能。这在处理大量数据或需要高效处理的场景中尤为重要。在软件开发中,特别是CI/CD流程中,流水线模式被广泛应用,用于自动化构建、测试和部署过程。原创 2024-02-22 17:11:27 · 531 阅读 · 0 评论 -
炫技亮点 优雅处理数据流程 过滤器模式
当你有一个包含大量数据或对象的集合,需要根据不同的条件进行过滤、排序或处理时,过滤器模式能够提供一种清晰的组织结构,让你能够轻松地添加、移除或修改过滤规则。如果你希望将处理流程拆分为一系列独立的组件,每个组件负责特定的处理逻辑,并且这些组件可以按照一定的顺序组成责任链,那么过滤器模式是一个不错的选择。当你需要在运行时动态地改变处理流程,可能是添加新的处理步骤或删除某些步骤,过滤器模式能够灵活地应对这种变化。原创 2024-02-21 17:24:21 · 1066 阅读 · 0 评论 -
炫技亮点 解决代码中复杂的if else(高楼/楼梯)
心法口诀互斥条件表驱动嵌套条件校验链短路条件早return零散条件可组合原创 2023-11-23 14:28:45 · 188 阅读 · 0 评论 -
炫技亮点 使用Optional类优化代码,提升可读性和简化空值处理
Optional 是 Java 8 中引入的一个类,它的主要目的是解决空值处理的问题。Optional 可以包装一个值,这个值可以是 null,也可以是非 null。通过使用 Optional,我们可以避免显式的空值判断,从而简化代码逻辑。存在值的状态,表示对象不为空。空值状态,表示对象为空。原创 2023-07-11 21:34:27 · 310 阅读 · 0 评论 -
炫技亮点 Spring Websocket idle check原理
Spring Websocket 是基于 WebSocket 协议的实现,它提供了一种在客户端和服务器之间实时双向通信的方式。其中,idle check(空闲检查)是一种机制,用于检测 WebSocket 连接的空闲状态。连接丢失检查是一种检测与另一个端点的连接是否丢失的功能,例如由于wifi或移动数据信号丢失。检测是双向的,因此服务器可以检测到丢失的客户端,而客户端可以检测到与服务器的连接丢失。Java_websocket提供了主动发送Ping消息的机制,原理在下面有。即等于每10秒check一次。原创 2023-06-28 10:58:16 · 1271 阅读 · 0 评论 -
炫技亮点 Websocket集群解决方案汇总
WebSocket的连接在不同的服务器之间是无法共享的,因此无法将WebSocket的Session存储在共享的存储中。通过将消息发送到中间件,然后再将消息广播给订阅的服务器,类似于广播的方式,只要订阅了消息,就能接收到消息的通知。例如,在一个WebSocket集群中,当一个客户端连接到节点A时,而其他节点(B、C)不知道这个连接存在,当节点B收到一条消息并尝试将其推送给该客户端时,它会失败,因为它不知道该客户端连接到了节点A。在集群中的每个服务节点上发送群发消息,以确保消息能够覆盖到所有连接的客户端。原创 2023-06-26 17:24:52 · 4800 阅读 · 6 评论 -
炫技亮点 利用卫语句降低代码复杂度,提升可读性和可维护性
卫语句是一种编程技巧,也被称为前置条件(Guard Clauses)。它通过提前对条件进行判断并在条件不满足时立即返回或执行相应的逻辑,从而避免嵌套的条件判断和深层嵌套的代码块。卫语句能够使代码更加扁平、易读和易于理解。代码扁平化:卫语句能够将嵌套的条件判断转换为扁平的代码结构,减少了嵌套层级,使代码更易读和理解。代码可读性提升:每个条件判断都独立处理,代码逻辑更加清晰,容易跟踪和理解。可维护性增强:卫语句使得修改和调整条件判断更加方便,不需要担心影响其他条件判断的逻辑。原创 2023-05-31 14:24:37 · 917 阅读 · 0 评论 -
炫技亮点 任务编排使用CompletableFuture优化业务流程
CompletableFuture是Java8提供的一个强大的异步编程工具,可以用于并发执行多个异步任务。与传统的线程池和Future接口相比,CompletableFuture提供了更强大的任务编排和组合的能力,使得异步编程变得更加简单、高效、易读。在CompletableFuture中,任务之间可以串行执行,也可以并行执行,甚至可以嵌套执行。而且,我们还可以使用各种组合操作来实现任务的链式编排,这使得我们可以方便地创建复杂的任务流程,而不需要编写复杂的控制逻辑。原创 2023-05-07 20:29:52 · 1072 阅读 · 0 评论 -
炫技亮点 SpringBoot下消灭If Else,让你的代码更亮眼
当使用if-else或switch语句进行复杂条件判断时,代码会变得难以阅读和维护。这时,使用策略模式和工厂模式可以有效消除条件判断语句,使代码更加优美、简洁、易于维护。当你coding时碰到if-else或switch语句,你就要想一想能不能用策略模式和工厂模式来优化它使用策略模式和工厂模式的场景包括选择算法、支付方式、优惠方式、根据类型调用不同的系统等。策略模式和工厂模式的优点包括扩展性好、符合开闭原则、符合单一职责原则、可读性好、便于维护、避免多层判断等。然而缺点。原创 2023-04-29 20:09:53 · 1415 阅读 · 0 评论