Dyno

Dependency Injection Principles, Practices, and Patterns

Steven van Deursen / Mark Seemann

タイトルのとおり、プログラミングのテクニック Dependency Injection (以下「 DI 」)について解説した書籍です。紙の書籍で 500 ページ以上というボリュームでまるまる一冊使って DI についてしつこいくらい丁寧に説明してあります。

サンプルコードは C# で書かれています。

2019 年に出版されました。

目次の主要な部分は次のとおりです。

Part 1: Putting Dependency Injection On The Map
Chapter 1: The basics of Dependency Injection: What, why, and how
Chapter 2: Writing tightly coupled code
Chapter 3: Writing loosely coupled code
Part 2: Catalog
Chapter 4: DI patterns
Chapter 5: DI anti-patterns
Chapter 6: Code smells
Part 3: Pure DI
Chapter 7: Application composition
Chapter 8: Object lifetime
Chapter 9: Interception
Chapter 10: Aspect-Oriented Programming by design
Chapter 11: Tool-based Aspect-Oriented Programming
Part 4: DI Containers
Chapter 12: DI Container introduction
Chapter 13: The Autofac DI Container
Chapter 14: The Simple Injector DI Container
Chapter 15: The Microsoft.Extensions.DependencyInjection DI Container
Glossary

日本語でレビューをしている人は少ないですが、アジャイル時代に鍵となる「メンテナンス性の高いコード」を書く上で非常に重要な概念・技術である DI についてとてもわかりやすく解説した良書です。

サンプルコードは C# で書かれていますが、オブジェクト指向言語の経験のある人であれば C# ユーザーでなくても特に抵抗なく読めるものと思います。 C# で書かれているからといって敬遠するのは非常にもったいない!

この本をちゃんと読んでも DI がわからなければ DI を理解するのは諦めたほうがよいかも、しれません。