【重温23种设计模式】之工厂方法模式
工厂方法模式是 简单工厂模式 的进一步抽象和升级,使用频次也更高。 工厂方法模式实现了可扩展,同时满足开闭原则,解决了简单工厂模式每次添加新的产品时,都需要修改工厂类的问题。
实战:Nacos配置中心的Pull原理,附源码
在单体服务时代,关于配置信息,管理一套配置文件即可。 而拆分成微服务之后,每一个系统都会有自己的配置,并且都各不相同,有些配置还需要动态改变,以达到动态降级、切流量、扩缩容等目的。
秒懂简单工厂模式
本文将采用图解、源码方式,全面详解简单工厂模式。通过本文,我们可以了解并掌握以下知识:
深度解析迪米特原则:降低耦合,提高模块独立性
迪米特原则(Law of Demeter,LoD),也被称为最少知识原则(Principle of Least Knowledge,PoLK),是面向对象编程中的一个重要原则。它的核心思想是降低模块之间的耦合,提高模块的独立性。在本文中,我们将深入探讨迪米特原则的概念、原则、应用、示例和最佳实践。
Web3.0时代的全新合作模式:DAO
你是否有遇到这种情况:自己想出一个金点子,但苦于没有能力和资源来将它实现?本篇介绍一种全新的合作模式:DAO,将改变这一现状,帮你在web3.0时代能够抢得先机,克服困境,实现理想。
6个系统设计的基本概念
这份综合指南将引导你掌握在系统设计中取得成功所需的基本概念。
Maxwell 的 CDC,好用不?
这段时间一直在探寻,有哪可以方便、快捷、优雅地导出mysql,或者相关的常用SQL数据库数据的手段和方法。
答读者问:关于隐式 id 重复的问题
我自己天天跟大伙讲 Spring 源码,我基本都是分析源码来讲。小伙伴们学习了之后,经常会产生许多千奇百怪的想法,这些想法都很不错,往往这些想法还给了我很大的启发,让我发现原来这个问题还可以从这个角度来理解。
最新版 Spring Security,该如何实现动态权限管理?
最近有小伙伴说松哥你之前讲的动态权限定义的方式,新版中用不了了,我抽空看了下,今天就和小伙伴们聊聊这个话题。
答读者问:关于隐式 id 重复的问题
深入理解接口隔离原则:构建灵活的面向接口软件
接口隔离原则是面向对象编程中的一项重要原则,它通过合理的接口设计和划分来降低代码的复杂性、提高可维护性、降低耦合度,并促进接口的重用。在实际编程中,遵循ISP原则有助于构建更灵活、更易维护的软件系统。
关于四种获取当前执行方法名称方案的基准测试报告
本文将通过使用专业基准测试工具 JMH 来对如上四种方案进行测试。
一个 List.of 引发的“血案”
本文作者将分享一个使用List.of后掉进的坑以及爬坑的全过程,希望大家能引以为戒同时引起这样的意识:在使用新技术前先搞清楚其实现的原理。
同城售后系统退款业务重构心得
到家、小时购、天选退款有2套结构,代码逻辑混乱; 其中小时购、天选部分售后单是和平生pop交互退款,部分是和售后中台交互退款;并且兼容3套逻辑; 痛点:代码繁重,缺乏合理性的设计,后续迭代开发以及维护成本高,同时增加了系统的风险和不稳定性
完蛋!我被 Out of Memory 包围了!
是极致魅惑、洒脱自由的 Java heap space? 是知性柔情、温婉大气的 GC overhead limit exceeded? 是纯真无邪、活泼可爱的 Metaspace? 如果以上不是你的菜,那还有…… 刁蛮任性,无迹可寻的 CodeCache! 性感火辣、心思细腻的 Direct Memory 高贵冷艳,独爱你一人的 OOM Killer! 总有一款,能让你钟情!BUG 选择权,现在交由你手!
MySQL MVCC 原理硬核解析,阿里面试官看了都直呼内行
MVCC 是一种强大的数据库并发控制机制,它可以解决并发访问数据库时的很多问题,例如死锁、快照读、读写阻塞等。 当出现读写冲突时,MVCC 在不加锁、或尽量减少锁使用的情况下,也能高效处理读写冲突,实现非阻塞并发读。
1 年经验,你让我精通微服务开发,过分吗?
微服务中的服务描述是对微服务的功能、性能、接口和约束等关键特性的详细定义和描述。
如何让 Bean 深度感知 Spring 容器
Spring 有一个特点,就是创建出来的 Bean 对容器是无感的,一个 Bean 是怎么样被容器从一个 Class 整成一个 Bean 的,对于 Bean 本身来说是不知道的,当然也不需要知道,也就是 Bean 对容器的存在是无感的。
老外总结的14条Go接口最佳实践,有些不一样
今天这篇文章是关于Go语言中接口设计的一些最佳实践,与Java等语言不尽相似,但又带着Go语言的特色,可以对照学习,拓展编程思想层面的认知面。
谈谈通过有效的指标设计推动运营成功的方法
数据或业务分析师有时会获得“绝佳的机会”来帮助创建一些指标,或者他们可以看到创建新指标的需要并主动承担这些任务。但是,虽然构建指标很容易,但设计好的指标却很困难。指标不仅仅是跟踪,它还是组织让利益相关者围绕一个共同愿景和一个共同目标进行协调的方式,而这会带来一系列挑战。一种框架可以帮助运营团队确保正确设置指标:输入 > 输出 > 结果框架。无论是否使用上述框架,一旦设计了新指标,验证它们并确保它们通过一些测试就很重要。