Skip to Content
C4モデル (Japanese Edition)
book

C4モデル (Japanese Edition)

by Simon Brown
June 2026
Intermediate
180 pages
2h 27m
Japanese
O'Reilly Media, Inc.
Content preview from C4モデル (Japanese Edition)

第11章 基礎を超えて

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

この章では、C4モデルに関連するより高度なトピックについて取り上げる。抽象化や図の種類から、マイクロサービスやメッセージ駆動型アーキテクチャを図式化するための具体的な推奨事項に至るまで、幅広く扱う。まずは、C4モデルの4つのレベルと、それらが存在する理由について詳しく見ていくことから始めよう。

モデルとコードのギャップ

第3章から第6章では、C4モデルを構成する静的構造図の種類を紹介し、各章でその特定の図種を使用することを推奨するかどうかについての指針を示した。C4モデルを初めて導入するチームに対する私の一般的な指針は、最上位の2つのレベル、すなわちシステムコンテキスト図とコンテナ図に焦点を当てることだ。

これにはいくつかの理由がある。第一に、システムコンテキスト図とコンテナ図は、ほとんどの場合、比較的短時間で作成できるからだ。第二に、それらの図を最新の状態に保つために必要な労力である。C4モデルの階層的な性質上、各図の変更頻度はそれぞれ異なる。

  • システムコンテキスト図: ほとんどの場合、システムコンテキスト図の変化は極めて緩やかだ。これは、ソフトウェアシステムが動作する環境と、その環境内のソフトウェアシステム間の統合ポイントを記述するものであり、これらは定期的に変化する傾向にない。

  • コンテナ図: 多数の小さなC4コンテナ(例:マイクロサービス、サーバーレス関数)で構成されるソフトウェアシステムを構築している場合を除き、コンテナ図も比較的ゆっくりと変化する。

  • コンポーネント図: 活発に開発が進められているソフトウェアシステムの場合、チームがコードを追加・除去したり、新しい構成要素を導入したり、既存構成要素の境界を変更するためにリファクタリングを行ったりするにつれて、コンポーネント図は頻繁に変化する可能性が高い。

  • コード図: コードベースが活発に開発されている場合、コード図はバージョン管理へのコミットごとに変更される可能性がある。

これらはすべて、コードからリバースエンジニアリングするのではなく、ソフトウェアアーキテクチャ図を手作業で作成していることを前提としている。後者も確かに可能だが、セットアップにはある程度の工数が必要となる。

したがって、C4モデルの上位2つのレベルに焦点を当てるという私の推奨事項は、いくつかの質問を招きがちだ:

  • ほとんどのエンジニアリングチームにはシステムコンテキスト図とコンテナ図のみの使用を推奨しているのに、なぜC4モデルは4種類の静的構造図を定義しているのか。

  • なぜC4モデルは「C2+2モデル」のような名前ではなく、「C4モデル」と名前付けられているのか。

  • C4モデルの最初の2つのレベルを使用するよう推奨していることは、その基礎となる抽象化が時代遅れであり、見直しが必要であることを示唆しているのか。

これらの質問に答えるには、一歩引いて、C4モデルが解決しようとしている問題を見直す必要がある。世界中の何百ものエンジニアリングチームと接してきた私の経験に基づけば、概して、エンジニアリングチームの大半は、自社のソフトウェアの動作を説明する図を作成していないか、あるいは第1章で提示したような図を作成しているかのどちらかだ。

あるエンジニアリングチームのソフトウェアアーキテクチャ・図解能力をランク付けするとしよう。図すら作成していない第1のコホートをレベル1とし、 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

製品志向のエンジニア (Japanese Edition)

製品志向のエンジニア (Japanese Edition)

Drew Hoskins
AIプロジェクトの管理 (Japanese Edition)

AIプロジェクトの管理 (Japanese Edition)

Malini Jain Runtasewee, Adrián González Sánchez
AIに適したデータ設計図 (Japanese Edition)

AIに適したデータ設計図 (Japanese Edition)

Navnit Shukla, Kien Pham, Srikanth Sopirala, Harsha Tadiparthi

Publisher Resources

ISBN: 0642572404864