📖 テーマ設定
🔊 音声設定
1.2
1.0
1.0
▶️ 再生コントロール
🎵 BGM設定
0.3
🔔 効果音設定
0.3

「アーキテクチャ」「設計」「駆動」「アプローチ」「パターン」の違い考察

概要

  • 日程: Day 3 / セッション 05
  • 時間: [11:35-12:00]
  • 形式: 演習
  • ゴール: 5つの類似語の違いを情報アーキテクチャの手法(カテゴリ分け)で整理した表を作成し、自分の言葉で説明できる
  • 学習形式: AIディスカッション

導入(5分)

ここまでDay 3だけでも、いろんな言葉が出てきました。

  • 「設計アプローチ」(DOA、SOAなど)
  • 「アーキテクチャ」(3層、MVC、MVVMなど)
  • 「ドメイン駆動設計」(DDD)
  • 「デザインパターン」(GoFのSingletonなど)

似ているけど違う。違うけど重なる。ここがエンジニアの混乱しがちなポイントです。

今回はDay 1で学んだ「整理と分類」「LATCH法」「カードソーティング」の考え方を使って、これらの言葉を自分なりに整理してみます。情報アーキテクチャの手法を、自分の頭の中の概念整理に応用する演習です。

本編(15分)

1. 5つの言葉

言葉 英語
設計 Design システム設計、UI設計
アーキテクチャ Architecture MVC、3層、マイクロサービス
駆動 Driven TDD、DDD、BDD
アプローチ Approach DOA、OOAD、SOA、ROA
パターン Pattern Singleton、Observer、Factory

これらは「同じ階層の言葉」ではありません。粒度や視点が違います。

2. IAの観点で並べてみる

LATCH法(Location/Alphabet/Time/Category/Hierarchy)のうち、特に「Hierarchy(階層)」と「Category(カテゴリ)」が役立ちます。

階層で並べる(抽象度の順)

flowchart TD A["設計 (Design)
抽象度: 最も広い概念"] A --> B["アプローチ (Approach)
設計の方針"] B --> C["アーキテクチャ (Architecture)
具体的な構造"] C --> D["駆動 (Driven)
何を起点に進めるか"] C --> E["パターン (Pattern)
定型的な解法"]

カテゴリで分ける

カテゴリ 説明
活動を表す言葉 何をする行為か 設計(Design)
方針を表す言葉 どんな考え方で進めるか アプローチ、駆動
構造を表す言葉 どんな骨組みにするか アーキテクチャ
解法を表す言葉 困ったときの定型解 パターン

3. 1文ずつで言い換える

それぞれを「○○とは△△である」の形で言い切ってみます。

  • 設計とは、つくり方を決定する活動である
  • アプローチとは、設計の進め方の方針である
  • アーキテクチャとは、システムの構造の骨組みである
  • 駆動とは、開発を進める**起点(中心)**である
  • パターンとは、頻出する課題に対する定型解である

ここがポイント

言葉の違いを整理するときは「同じ階層に並べると重複や矛盾が見える」のがコツです。これはDay 1のカードソーティングと同じ手法です。

4. 具体例で見分ける

「ドメイン駆動設計(DDD)」を分解してみましょう。

  • 「ドメイン」: 中心に据えるもの
  • 「駆動」: ドメインを起点に進める方針
  • 「設計」: 設計という活動の名前

つまりDDDは「ドメインを起点(駆動)に、設計(活動)を進める方針」と読めます。

「3層アーキテクチャ」なら、

  • 「3層」: 3つの階層
  • 「アーキテクチャ」: 構造の骨組み

= 「3つの階層に分けた構造の骨組み」となります。

コラム

カタカナ用語を分解して翻訳すると、意外と意味が掴めます。「マイクロサービス・アーキテクチャ」=「小さなサービス(マイクロサービス)を組み合わせた構造(アーキテクチャ)」。「リアクティブ・プログラミング」=「反応(リアクティブ)するプログラミング」。「あ、なるほど」と腹落ちする瞬間が増えます。

💬 AIに聞いてみよう

ここまでの内容で疑問があれば、AIに質問してみましょう。たとえば:

  • 「『デザインパターン』と『アーキテクチャパターン』は何が違うの?」
  • 「『ドメイン駆動』と『テスト駆動』は同じ『駆動』だけど、何が起点になってる?」
  • 「『フレームワーク』『ライブラリ』『パターン』の階層関係は?」

演習(10分)

課題

チームで以下を実施してください。

  1. 5つの言葉(設計/アーキテクチャ/駆動/アプローチ/パターン)について、自分たちなりの整理表を作成
  2. それぞれに今日出てきた具体例を3つずつ当てはめる
  3. AIに「この整理は妥当か? 改善点は?」と聞いてフィードバックを受ける

成果物

  • 整理表(5行 × 「定義/例3つ」の形式)
  • 5つの言葉それぞれを1文で説明したメモ

ヒント

  • 完璧を目指さない。「自チームが納得できる整理」がゴール
  • AIの答えと自分の整理が食い違ったら、どっちが正しいかではなく「なぜ違うか」を考える
  • 言葉の意味は文脈で変わる。「アーキテクチャ」が「設計」とほぼ同義に使われる場面もある

まとめ(5分)

似た言葉でも、IAの手法(階層・カテゴリ)で整理すると違いが見えてきます。Day 1で学んだ「整理と分類」は、情報の世界だけでなく「自分の頭の中の概念整理」にも役立ちます。

ここまででDay 3午前パート(3-1 設計アプローチ全般)が終了。午後はいよいよ「永続化」「通信」「実行方式」「開発手法」と、より具体的な実装に近いトピックに入ります。

🔄 振り返りチェック

  • 5つの言葉をそれぞれ1文で説明できますか?
  • 「DDD」「3層アーキテクチャ」「Singletonパターン」を、どの言葉の階層に位置づけるか答えられますか?
  • IAの「整理と分類」の手法を、概念整理に応用した手応えはありますか?

補足資料

  • 参考リンク: Day 1セッション07・08(整理と分類・LATCH法)の振り返り
  • 発展課題: 自分が知っている「○○駆動」「○○指向」「○○アーキテクチャ」をすべて洗い出し、整理表を埋める

学習ガイド

想定される質問と回答例

質問 ヒント
言葉によって人によって使い方が違うのはなぜ? 業界・時代・文脈で意味が変わる。「正しい定義」より「文脈で察する」のが現場
アーキテクチャと設計はほぼ同じに見える 重なる部分は大きい。アーキテクチャ=大きい構造、設計=活動全般、と覚えると整理しやすい
パターンは設計? アーキテクチャ? パターンは「定型解」。設計の中の道具、アーキテクチャの中の部品

つまずきやすいポイント

つまずきポイント ヒント
完璧な定義を求めて時間が溶ける 「自分のチームで通じる定義」を目指す。学術論文じゃない
AIに聞いたら回答が毎回違う 当然。文脈やプロンプトで変わる。複数の回答を見比べて自分なりに整理
言葉の違いを覚えるだけになる 自分の開発テーマに当てはめると定着する。「自分のチームのアプローチは何?」と問う
読み上げを開始します...

AIに質問する