なぜ依存を注入するのか DIの原理・原則とパターン
マイナビ出版
- Steven van Deursen(著者)、 Mark Seemann(著者)、 須田智之(翻訳)
疎結合な設計にすることが なぜ、保守のしやすいコードに繋がるのか
依存注入(Dependency Injection: DI)は関連性のあるパターンや原則を集めたものであり、その第一の目的は保守しやすいソフトウェアを構築することにあります。サンプル・コードにC#を用いていますが、扱っていることの多くは他のオブジェクト指向プログラミング言語やプラットフォームでも適用できるようになっています。
・依存注入とは何か? なぜ・どのように使うのか
・疎結合なコードで構築されたアプリケーションの分析・評価
・有用な設計パターン、アンチ・パターンのカタログ
最初から最後まで一貫して依存注入について見ていくのですが、より優れたオブジェクト指向のプログラミングが行えるようになることも本書の目標としています。ドメイン駆動設計やクリーン・アーキテクチャに関する既刊書があまり触らなかった部分にスポット・ライトを当ててくれるような内容にもなっていますので、設計に関する既刊書を読んだあとに抱えていたモヤモヤしていた部分を、依存注入の観点から明確にしてくれる可能性が本書にはあります。
Manning Publishing: Dependency Injection Principles, Practices, and Patternsの翻訳書
発売日:2024-05-17
ページ数:656ページ
目次
第1部: 依存注入(Dependency Injection: DI)の役割
第1章: 依存注入(Dependency Injection: DI)の基本: 依存注入とは何なのか?なぜ使うのか?どのように使うのか?
第2章: 密結合したコードで構築されたアプリケーション
第3章: 疎結合なコードへの変換
第2部: カタログ
第4章: 依存注入のパターン
第5章: 依存注入のアンチ・パターン
第6章: コードの嫌な臭い(code smell)
第3部: 純粋な依存注入(Pure DI)
第7章: オブジェクト合成(object composition)
第8章: オブジェクトの生存期間(lifetime)
第9章: 介入(interception)
第10章: 設計だけで実現するアスペクト指向プログラミング(Aspect-Oriented Programming: AOP)
第11章: ツールを用いたアスペクト指向プログラミング
第4部: DIコンテナ
第12章: DIコンテナとは?
第13章: DIコンテナ: Autofac
第14章: DIコンテナ: Simple Injector
第15章: DIコンテナ: MS.DI(Microsoft.Extensions.DependencyInjection)
用語集・参考文献
著者プロフィール
-
[著者]
Steven van Deursen(スティーブン・ヴァン・ドゥールセン):.NETを用いた開発を行うフリーランスの開発者兼アーキテクト。オランダのナイメーヘン在住。コードを趣味で書きつつそれを職業としている。 -
Mark Seemann(著者)
Mark Seemann(マーク・シーマン):デンマークのコペンハーゲン在住のプログラマー兼ソフトウェア・アーキテクト。2003年からテスト駆動開発をはじめ、Microsoftで開発者として勤めた経験がある。
-
須田智之(翻訳)
[翻訳]
須田智之(すだ ともゆき):15年近くいくつかのSI企業の社員として働いたのちに独立。最近の邦訳書に『セキュア・バイ・デザイン』(マイナビ出版、2021年)、『単体テストの考え方/使い方』(マイナビ出版、2022年)がある。
Copyright © Mynavi Publishing Corporation