カテゴリ一覧 著者一覧
pospomeのサーバサイドアーキテクチャ
0件
1,000円(税込)
獲得ポイント: 10pt
通常:
10pt

pospomeのサーバサイドアーキテクチャ

発売日: 2018年10月8日
ダウンロード: EPUB
サーバサイドのアプリケーションアーキテクチャにおける"レイヤ構造"について体系的にまとめました。
"Controllerパターン"から"クリーンアーキテクチャ"まで様々な実装が載っています。
サンプルコードはGo言語ですが、
アプリケーションアーキテクチャに関する内容がメインなので、
普段はGo言語以外の言語を利用している方も理解できると思います。
Go言語に特化した章も存在します。
筆者がオススメするのは第4章の"詳細リポジトリパターン"です。
ネット上にあるリポジトリパターンの説明に比べて1歩踏み込んだ内容になっています。

目次

はじめに

本書の内容
著者
誤字脱字報告フォーム
免責事項

第1章 Webアプリケーションにおけるレイヤ構造パターン集

1.1 はじめに
1.2 レイヤとは?
1.3 レイヤ構造のメリットとデメリット
1.4 コントローラーパターン
  • 1.4.1 パッケージ構成
  • 1.4.2 レイヤの責務
  • 1.4.3 メリット
  • 1.4.4 デメリット
  • 1.4.5 使い所
1.5 MVCパターン
  • 1.5.1 パッケージ構成
  • 1.5.2 レイヤ同士の依存関係
  • 1.5.3 レイヤの責務
  • 1.5.4 メリット
  • 1.5.5 デメリット
1.6 MVC+サービスレイヤパターン
  • 1.6.1 パッケージ構成
  • 1.6.2 レイヤ同士の依存関係
  • 1.6.3 レイヤの責務
  • 1.6.4 サービスレイヤの実装方法
  • 1.6.5 メリット
  • 1.6.6 デメリット
1.7 レイヤードアーキテクチャ
  • 1.7.1 パッケージ構成
  • 1.7.2 レイヤ同士の依存関係
  • 1.7.3 レイヤの責務
  • 1.7.4 レイヤ依存パターン
  • 1.7.5 メリット
  • 1.7.6 デメリット
1.8 ヘキサゴナルアーキテクチャ
  • 1.8.1 レイヤ同士の依存関係
  • 1.8.2 ヘキサゴナルアーキテクチャの目的
  • 1.8.3 アプリケーションと技術を分離する仕組み
  • 1.8.4 パッケージ構成
  • 1.8.5 レイヤの責務
  • 1.8.6 ヘキサゴナルアーキテクチャの本質
1.9 クリーンアーキテクチャ
  • 1.9.1 レイヤ同士の依存関係
  • 1.9.2 パッケージ構成
  • 1.9.3 レイヤの責務
  • 1.9.4 インプットポートとアウトプットポート
  • 1.9.5 インプットポート、アウトプットポート以外のポート
  • 1.9.6 クリーンアーキテクチャの本質
  • 1.9.7 ちゃんとしたクリーンアーキテクチャ実装は少ない
  • 1.9.8 メリット
  • 1.9.9 デメリット
1.10 レイヤードアーキテクチャ + ポート
  • 1.10.1 インフラストラクチャレイヤにポートを定義する
  • 1.10.2 ドメイレイヤにポートを置く
1.11 その他のレイヤ紹介
  • 1.11.1 Decoratorレイヤ,Presenterレイヤ,Exhibitレイヤ
  • 1.11.2 コアレイヤ
1.12 レイヤの肥大化と正当性
  • 1.12.1 選択したレイヤ構造とコード量が合っていない
  • 1.12.2 レイヤの責務に合わない実装を置いている
1.13 レイヤ内をどう実装するのか
1.14 どのレイヤ構造を採用すべきか
1.15 おわりに

第2章 Go言語におけるWebアプリケーションのパッケージ構成

2.1 はじめに
2.2 なぜ分からないのか?
2.3 Go言語のパッケージ構成
  • 2.3.1 フラットパッケージとは
  • 2.3.2 シングルパッケージとは
2.4 フラットパッケージの実装
2.5 フラットパッケージvsレイヤ構造
  • 2.5.1 テスト
  • 2.5.2 初期学習コスト
  • 2.5.3 継続的な学習コスト
  • 2.5.4 新規開発
  • 2.5.5 OSS開発
  • 2.5.6 パッケージのインポートとIDEの補完
  • 2.5.7 コードの質
2.6 おわりに

第3章 レイヤ構造で学ぶパッケージの横割りと縦割り

3.1 はじめに
3.2 パッケージの横割りとは
3.3 パッケージの縦割りとは
3.4 パッケージの縦割りが抱える問題
  • 3.4.1 共通実装
  • 3.4.2 機能間の依存
3.5 縦割りを扱う際のポイント
  • 3.5.1 共通実装の扱い
  • 3.5.2 各レイヤ内実装
3.6 縦割りとDB設計
  • 3.6.1 依存関係のコントロール
  • 3.6.2 マイクロサービスへの切り出し
3.7 パッケージの縦割りにおける機能パッケージの分割粒度
3.8 Go言語におけるフラットパッケージと縦割り
3.9 おわりに

第4章 詳解リポジトリパターン

4.1 はじめに
4.2 リポジトリパターンとは
  • 4.2.1 CRUD操作の特徴
  • 4.2.2 実装
  • 4.2.3 インターフェースの導入
  • 4.2.4 メリット
4.3 リポジトリパターンとDAOの違い
4.4 複数のデータソースを扱う
4.5 モデルの部分的なCRUD操作
4.6 Read操作におけるモデル以外の戻り値
4.7 実装に対する依存
4.8 ビジネスロジック
4.9 トランザクション境界
4.10 トランザクションの抽象化
4.11 Go言語におけるグローバル変数を利用したDIの欠点
4.12 おわりに

奥付

ユーザーレビュー

レビューがありません
書籍をシェアする