[予約] なぜ依存を注入するのか 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年)がある。
絶賛!発売中!
-
- 顔×バストアップで楽しく極める! キャラクターイラストのはじめかた
- 予約 2497円
-
- YURIKO(著者)
- その他
-
- 予約受付中
-
- 最善のリサーチ
- 予約 2739円
-
- Erika Hall(著者)、 菊池 聡(翻訳)、 久須美達也(翻訳)、 横田香織(翻訳)、 UX DAYS PUBLISHING(監修)
- Webデザイン
-
- 予約受付中
-
- ChatGPTで身につけるPython
- 予約 2629円
-
- 掌田津耶乃(著者)
- その他言語
-
- 予約受付中
- 運営会社
- FAQ
- お問い合わせ
- 利用規約
- オンライン販売について
- 特定商取引法に関する記載
- ゲームソフトの利用に関するガイドライン|
- 個人情報について
- PURCHASE GUIDE (ENGLISH)|
Copyright © Mynavi Publishing Corporation