アーキテクチャ

上級

システム全体の構造をどう組み立てるか。層の分け方から分散システムへの分割まで、規模に応じた設計判断を学びましょう

全6レッスン

アーキテクチャを学ぶ意味

アーキテクチャとは、システムをどのような単位に分割し、 それぞれがどう責任を持ち、どう連携するかという全体構造の設計です。個々のクラスやメソッドの設計原則 (SOLIDなど)がミクロな視点だとすれば、アーキテクチャはシステム全体を俯瞰するマクロな視点にあたります。

このコースで扱うアーキテクチャに「唯一の正解」はありません。どれもトレードオフを伴う選択肢であり、 プロジェクトの規模・チームの体制・将来の変化に対する要求によって適切な答えが変わります。 それぞれの利点だけでなく、代償として何を引き受けることになるかを合わせて理解していきましょう。

🛠

構造を分ける

層・境界・サービス単位で責任を分割する考え方

トレードオフで選ぶ

どの構造にも利点と代償があることを踏まえて判断する

📝

決定を記録する

ADRなどで判断の背景を残し、後から見直せるようにする

このコースの学習の流れ

1

レイヤードアーキテクチャ

層に分けてシステムを構成する最も基本的な考え方

2

クリーンアーキテクチャとヘキサゴナル

ドメインを外部技術から切り離す設計

3

モノリスとマイクロサービス

デプロイ単位をどう分割するかのトレードオフ

4

イベント駆動アーキテクチャ

Pub/Subでサービス間を疎結合につなぐ

5

API設計

REST/GraphQLなどAPIスタイルの選び方

6

アーキテクチャ決定とADR

設計判断の理由を記録し、後から振り返れるようにする

確認クイズ

1 / 8

レイヤードアーキテクチャにおける依存の向きのルールとして正しいものはどれか?