<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>依赖注入 on Tony Bai</title><link>https://tonybai.com/tags/%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5/</link><description>Recent content in 依赖注入 on Tony Bai</description><generator>Hugo</generator><language>zh-cn</language><copyright>2004-2026 Tony Bai. 版权所有.</copyright><lastBuildDate>Fri, 05 Jun 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://tonybai.com/tags/%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5/index.xml" rel="self" type="application/rss+xml"/><item><title>别把 Go 写成 Java：毁掉项目从过度架构开始</title><link>https://tonybai.com/2026/06/05/stop-writing-go-like-java-avoid-over-architecting/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/06/05/stop-writing-go-like-java-avoid-over-architecting/</guid><description>本文永久链接 – https://tonybai.com/2026/06/05/stop-writing-go-like-java-avoid-over-architecting 大家好，我是Tony Bai。 前不久，Go 语言社区 Reddit (r/golang) 上爆发了两场激烈的争论。 这两个帖子的主题直击了无数 Go 开发者的灵魂深处： 1. 我们该如何构建一个大型的 Go 模块化单体...</description></item><item><title>写了 10 年 Java/TS，Go 语言终于治好了我的“过度设计”绝症</title><link>https://tonybai.com/2026/05/16/go-cured-my-over-engineering-addiction-after-java-ts/</link><pubDate>Sat, 16 May 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/05/16/go-cured-my-over-engineering-addiction-after-java-ts/</guid><description>本文永久链接 – https://tonybai.com/2026/05/16/go-cured-my-over-engineering-addiction-after-java-ts 大家好，我是Tony Bai。 在软件工程的圈子里，有一种病，几乎所有写过几年 Java 或 TypeScript 的程序员都得过，而且往往病得不轻。 这种病叫：**“过度设计综合征（Over-engineerin...</description></item><item><title>Go 代码设计的“第一天原则”：一份能让你少走五年弯路的实战模式清单</title><link>https://tonybai.com/2026/04/24/go-code-design-day-one-principle-practical-patterns-list/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/04/24/go-code-design-day-one-principle-practical-patterns-list/</guid><description>本文永久链接 – https://tonybai.com/2026/04/24/go-code-design-day-one-principle-practical-patterns-list 大家好，我是Tony Bai。 &amp;gt; 世界读书日送福利活动火热进行中，点击这里留言参与，赢取属于你的幸运！ 每一个 Go 开发者，大概都经历过这样的心路历程： 项目启动初期，为了追求“快”，我们怎么方便怎么来...</description></item><item><title>“香蕉、猴子和整片丛林”：我们是否深陷于 OOP 的“优雅”陷阱？</title><link>https://tonybai.com/2025/11/29/oop-the-worst-thing-that-happened-to-programming/</link><pubDate>Sat, 29 Nov 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/11/29/oop-the-worst-thing-that-happened-to-programming/</guid><description>本文永久链接 – https://tonybai.com/2025/11/29/oop-the-worst-thing-that-happened-to-programming 大家好，我是Tony Bai。 Erlang 之父 Joe Armstrong 曾提出了一个关于面向对象编程（OOP）的、流传甚广的深刻比喻： **“你想要一根香蕉，但你得到的却是一只拿着香蕉的猴子，以及整片丛林。”** ...</description></item><item><title>从 Go “叛逃”到 Java，再回归：一位开发者关于“魔法”与“显式”的深度反思</title><link>https://tonybai.com/2025/10/22/back-to-go-after-defection-to-java/</link><pubDate>Wed, 22 Oct 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/10/22/back-to-go-after-defection-to-java/</guid><description>本文永久链接 – https://tonybai.com/2025/10/22/back-to-go-after-defection-to-java 大家好，我是Tony Bai。 “我离开了 Go，因为我觉得它啰嗦又笨重。我以为编程本该是简单轻松的……但事实证明，河对岸的草不见得更绿。” 近日，在 r/golang 社区，一篇标题为《一篇完全没有建设性但又无比真实的，关于 Go 和 Java 的...</description></item><item><title>重构还是重写？GitHub工程师维护Go大项目的实践指南</title><link>https://tonybai.com/2025/09/20/refactoring-go-in-large-codebases/</link><pubDate>Sat, 20 Sep 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/09/20/refactoring-go-in-large-codebases/</guid><description>本文永久链接 – https://tonybai.com/2025/09/20/refactoring-go-in-large-codebases 大家好，我是Tony Bai。 &amp;gt; “要不……我们重写吧？” 在任何一个发展到一定阶段的 Go 项目中，这句话都像一个幽灵，反复出现在技术讨论中。面对一个布满补丁、逻辑盘根错节、维护成本日益高昂的“大泥球” (Big Ball of Mud)，彻底推倒...</description></item><item><title>超越零值：Go 语言“构造模式”深度指南</title><link>https://tonybai.com/2025/09/12/go-constructor-pattern-guide/</link><pubDate>Fri, 12 Sep 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/09/12/go-constructor-pattern-guide/</guid><description>本文永久链接 – https://tonybai.com/2025/09/12/go-constructor-pattern-guide 大家好，我是Tony Bai。 Go 语言的设计哲学崇尚简约与直白(straightforward)。其中，结构体字面量 (Struct Literal) 的存在，让我们可以用极其简单的方式创建数据结构。然而，在构建大型、复杂的系统时，这种简单性也可能成为一把双...</description></item><item><title>聊聊Go与依赖注入</title><link>https://tonybai.com/2023/09/28/dependency-injection-with-go/</link><pubDate>Thu, 28 Sep 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/09/28/dependency-injection-with-go/</guid><description>本文永久链接 – https://tonybai.com/2023/09/28/dependency-injection-with-go 如果你读过Robert C. Martin的《敏捷软件开发：原则、模式与实践》(书的封皮见下图)，那么你一定知道经典的SOLID设计原则中的“D”：依赖倒置原则（Dependency Inversion Principle, DIP）。 依赖倒置原则是面向对象设...</description></item><item><title>Go语言包设计指南</title><link>https://tonybai.com/2023/06/18/go-package-design-guide/</link><pubDate>Sun, 18 Jun 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/06/18/go-package-design-guide/</guid><description>本文永久链接 – https://tonybai.com/2023/06/18/go-package-design-guide 1\. Go包的认知 ---------- 1.1 Go包是基本功能单元 我们知道Go包是Go编程语言中的一个重要概念，它是一组相关的Go源代码文件。并且，在Go中，每个Go源文件都必须属于一个包。 Go包是一个逻辑上独立的单元，是Go的**基本功能单元**，用来做功能边...</description></item><item><title>聊聊Go语言的全局变量</title><link>https://tonybai.com/2023/03/22/global-variable-in-go/</link><pubDate>Wed, 22 Mar 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/03/22/global-variable-in-go/</guid><description>本文永久链接 – https://tonybai.com/2023/03/22/global-variable-in-go &amp;gt; 注：上面篇首配图的底图由百度文心一格生成。 C语言是Go语言的先祖之一，Go继承了很多C语言的语法与表达方式，这其中就包含了**全局变量**，虽然Go在其语法规范中并没有直接给出全局变量的定义。但是已经入门Go的童鞋都知道，在Go中**包的导出变量(exported va...</description></item></channel></rss>