手を動かしてわかるクリーンアーキテクチャ ヘキサゴナルアーキテクチャによるクリーンなアプリケーション開発

個数:1
紙書籍版価格
¥3,300
  • 電子書籍
  • Reader
  • 特価

手を動かしてわかるクリーンアーキテクチャ ヘキサゴナルアーキテクチャによるクリーンなアプリケーション開発

  • 著者名:TomHombergs/須田智之
  • 価格 ¥3,300(本体¥3,000)
  • 特価 ¥1,650(本体¥1,500)
  • インプレス(2024/07発売)
  • ポイント 15pt (実際に付与されるポイントはご注文内容確認画面でご確認下さい)
  • ISBN:9784295019787

ファイル: /

内容説明

●具体的なコード例で学ぶソフトウェア設計の理論と実装

Robert C. Martin氏が提唱するソフトウェア設計パターン「クリーンアーキテクチャ」の概念に沿って、Webアプリケーションを構築するにはどうするのか、について実装コードとともに解説します。

クリーンアーキテクチャを実際にコードに落とし込む方法に加え、従来のソフトウェア設計が抱える問題、そしてこの設計パターンがそれをどのように解決しようとしているのか、さらにはトレードオフについての考察まで踏み込んで説明しています。

ソフトウェア設計に興味を持っている開発者の方、クリーンアーキテクチャとその実装方法を知りたい開発者の方におすすめの一冊です。

本書は、Tom Hombergs『Get Your Hands Dirty on Clean Architecture: Build clean applications with code examples in Java, 2nd Edition』Packt Publishingの翻訳書です。

目次

表紙
本書情報および正誤表のWebページ
序文
はじめに
訳者まえがき
第1章 保守容易性
1.1 保守容易性とは?
1.2 保守容易性によって実装可能になる機能
1.3 保守のしやすさによって向上する開発者満足度
1.4 保守容易性によって結果が変わる意思決定
1.5 保守容易性の維持
第2章 従来の多層アーキテクチャの何が問題なのか?
2.1 データベース中心の設計になってしまう問題
2.2 問題のある短絡的な実装になってしまう問題
2.3 テストがしづらくなる問題
2.4 ユースケースが見つけづらくなる問題
2.5 異なる作業を同時に行なうことが難しくなる問題
2.6 この章がどのように保守のしやすいソフトウェアを構築する際の助けとなるのか?
第3章 依存関係の逆転
3.1 単一責任の原則
3.2 変更による影響に関する事例
3.3 依存関係逆転の原則
3.4 クリーンなアーキテクチャ
3.5 ヘキサゴナルアーキテクチャ
訳者・補足 >>> 本書の考え方
3.6 この章がどのように保守のしやすいソフトウェアを構築する際の助けとなるのか?
第4章 パッケージ構成に関する戦略
4.1 層を意識したパッケージ構成
4.2 機能を意識したパッケージ構成
4.3 アーキテクチャの構成要素を意識したパッケージ構成
4.4 依存注入(DI)の役割
4.5 この章がどのように保守のしやすいソフトウェアを構築する際の助けとなるのか?
第5章 ユースケースの実装
5.1 ドメインモデルの実装
5.2 ユースケースの概要
5.3 入力値の妥当性確認
5.4 コンストラクタの活用
5.5 ユースケースと入力モデル
5.6 ビジネスルールに関する妥当性確認
5.7 濃いドメインモデル vs. 薄いドメインモデル
5.8 ユースケースごとに異なる出力モデル
5.9 読み込みしか行なわないユースケースの場合
5.10 この章がどのように保守のしやすいソフトウェアを構築する際の助けとなるのか?
第6章 Webアダプタの実装
6.1 依存関係の逆転
6.2 Webアダプタの責務
6.3 コントローラの分割
6.4 この章がどのように保守のしやすいソフトウェアを構築する際の助けとなるのか?
第7章 永続化アダプタの実装
7.1 依存関係の逆転
7.2 永続化アダプタの責務
7.3 ポートの分割
7.4 永続化アダプタの分割
7.5 Spring Data JPAを用いたサンプル
7.6 データベーストランザクション
7.7 この章がどのように保守のしやすいソフトウェアを構築する際の助けとなるのか?
第8章 アーキテクチャの構成要素に対するテスト
8.1 テストピラミッド
8.2 ドメインエンティティの検証:単体テスト
8.3 ユースケースの検証:単体テスト
8.4 Webアダプタの検証:統合テスト
8.5 永続化アダプタの検証:統合テスト
8.6 主要なシナリオの検証:システムテスト
8.7 どのくらいテストをすれば十分なのか?
8.8 この章がどのように保守のしやすいソフトウェアを構築する際の助けとなるのか?
第9章 境界を越える際のモデルの変換
9.1 「モデルを変換しない」という戦略
9.2 双方向でのモデルの変換
9.3 徹底的なモデルの変換
9.4 一方向でのモデルの変換
9.5 モデルの変換に関して、どの戦略をいつ使うべきなのか?
9.6 この章がどのように保守のしやすいソフトウェアを構築する際の助けとなるのか?
第10章 アプリケーションの組み立て
10.1 アプリケーションをどのように組み立てるのかをなぜ考慮しなくてはならないのか?
10.2 標準的なJava のコードだけを用いたアプリケーションの組み立て
10.3 コンポーネントスキャンを用いたアプリケーションの組み立て
10.4 Java Configを用いたアプリケーションの組み立て
10.5 この章がどのように保守のしやすいソフトウェアを組み立てる際の助けとなるのか?
第11章 短絡的な実装への意図した選択
11.1 ソフトウェア開発における短絡的な実装と割れ窓理論の類似点
11.2 クリーンな状態で開発を始めることの重要性
11.3 ユースケース間でのモデルの共有
11.4 入力モデルもしくは出力モデルとしてのドメインエンティティの使用
11.5 受信ポートの省略
11.6 サービスの省略
11.7 この章がどのように保守のしやすいソフトウェアを構築する際の助けとなるのか?
第12章 アーキテクチャ内の境界の維持
12.1 境界と依存
12.2 アクセス修飾子を用いた境界の維持
12.3 適応度関数の活用:コンパイル後の検証
12.4 成果物の分割
12.5 この章がどのように保守のしやすいソフトウェアを構築する際の助けとなるのか?
第13章 複数の境界づけられたコンテキストの管理
13.1 境界づけられたコンテキストごとに1つのアプリケーションの核を用いる場合
13.2 各境界づけられたコンテキストの分離
13.3 境界づけられたコンテキスト同士の適切な連携
13.4 この章がどのように保守のしやすいソフトウェアを構築する際の助けとなるのか?
第14章 コンポーネント基盤のアーキテクチャ
14.1 コンポーネントの抽出と抽出したコンポーネント同士の連携
14.2 事例:「検証エンジン(check engine)」コンポーネントの構築
14.3 コンポーネント間の境界の強制
14.4 この章がどのように保守のしやすいソフトウェアを構築する際の助けとなるのか?
第15章 アーキテクチャの決定
15.1 最初はシンプルに
15.2 ドメインの進化
15.3 自身の経験への信頼
15.4 結論
索引
著者紹介・訳者紹介
奥付

感想・レビュー

※以下の感想・レビューは、株式会社ブックウォーカーの提供する「読書メーター」によるものです。

Kazuyuki Koishikawa

1
分かりやすかった気がする。2024/11/04

miura

0
ヘキサゴナルアーキテクチャについて理解が進んだ。 / 割れ窓が全くないソフトウェアはどこかに存在するのか。有無ではなく、多い少ないということなんだろうけども。2025/03/22

pea47581220

0
手を動かしてわかるという題ですがハンズオン形式ではなかったです。 サンプルコード(Java)が公開されていますが、他言語実装もいくつかGithubに挙がっているので参考になります。 各章は短く区切られており読み易く、記載内容も非常に分かりやすかったです。ヘキサゴナルアーキテクチャとドメイン駆動設計の組み合わせからコンポーネント基盤アーキテクチャまで複雑度の観点からアーキテクチャを提案されています。2024/12/07

むらむー

0
ヘキサゴナルアーキテクチャを使ってクリーンアーキテクチャを実現する具体的なパッケージ構成の方法とクラスの実装方法を知ることができた。 今まで抽象的だったり理論的なところまでしか理解できてなかったのが、この本のおかげで実装レベルまでクリアになった。 個人的には「境界を越える際のモデルの変換」も参考になった。各戦略パターンとそれぞれの指針は活用していこう。2024/07/31

外部のウェブサイトに移動します

よろしければ下記URLをクリックしてください。

https://bookmeter.com/books/22006450
  • ご注意事項

最近チェックした商品