{"schemaVersion":"1.0.0","generatedAt":"2026-08-08","project":"Because I Admire DDD","license":{"content":"not-yet-declared","code":"not-yet-declared"},"reviewDisclaimer":"These are review prompts, not automatic defect determinations. Confirm the domain context with the team.","entries":[{"id":"ddd-article-what-is-ddd","kind":"article","title":"DDDとは何か","oneLiner":"DDDとは、仕事のルールや言葉を深く理解し、その理解をチームの会話とソフトウェアの設計へ反映し続ける考え方です。","topics":["DDD","Domain Model","Ubiquitous Language","Bounded Context"],"status":"current","verifiedAt":"2026-08-08","url":"https://becauseiadmire.com/ddd/articles/what-is-ddd"},{"id":"ddd-term-domain","kind":"glossary","title":"ドメインとは","oneLiner":"DDDでいうドメインとは、ソフトウェアが理解し、支援しようとしている仕事や活動の領域です。","topics":["Domain","Domain Knowledge"],"status":"current","verifiedAt":"2026-08-08","url":"https://becauseiadmire.com/ddd/glossary/domain"},{"id":"ddd-term-ubiquitous-language","kind":"glossary","title":"ユビキタス言語とは","oneLiner":"ユビキタス言語とは、仕事を知る人と開発者が、会話・資料・画面・コードで一貫して使う共通の言葉です。","topics":["Ubiquitous Language","Domain Model","Collaboration"],"status":"current","verifiedAt":"2026-08-08","url":"https://becauseiadmire.com/ddd/glossary/ubiquitous-language"},{"id":"ddd-term-bounded-context","kind":"glossary","title":"境界づけられたコンテキストとは","oneLiner":"境界づけられたコンテキストとは、ある言葉とモデルを、一貫した意味で使える範囲です。","topics":["Bounded Context","Strategic Design","Context Map"],"status":"current","verifiedAt":"2026-08-08","url":"https://becauseiadmire.com/ddd/glossary/bounded-context"}],"reviewRules":[{"id":"ddd-review-language-drift","title":"仕事の言葉とコードの名前がずれていないか","summary":"同じ概念が会話、画面、仕様、コードで別の名前になっている場合、理解のずれや変換漏れを疑います。","rationale":"ユビキタス言語は、チームの会話とモデルとコードをつなぐために使います。名前のずれは、モデルのずれを見つける手がかりになります。","signals":["同じ概念に複数の名前がある","汎用的な `data`、`item`、`process` が重要な業務概念を隠している","画面の用語とAPI・コードの用語が一致しない"],"questions":["この名前は仕事に詳しい人との会話でも使いますか？","別名になっている理由は、境界の違いですか、それとも単なる表記揺れですか？"],"suggestions":["具体的な業務例を一つ挙げて、その場面で使う言葉へ合わせる","意味が異なるなら無理に統一せず、境界と変換を明示する"],"appliesTo":["naming","model"],"severity":"consider","confidence":"high","status":"current","relatedEntryIds":["ddd-term-ubiquitous-language"],"sourceIds":["evans-ddd-reference","fowler-ubiquitous-language"]},{"id":"ddd-review-context-leak","title":"別の文脈のモデルがそのまま入り込んでいないか","summary":"同じ名前のモデルを複数の用途で共有し、関係のない属性や条件が増えている場合、Bounded Contextの境界を確認します。","rationale":"同じ言葉でも文脈が変われば必要な意味やルールが変わります。一つの巨大なモデルへ統合すると、文脈ごとの一貫性が失われます。","signals":["一つの型に用途別のoptional項目が増え続ける","変更理由の異なる機能が同じモデルを直接変更する","外部システムのデータ構造が内部モデルへそのまま露出する"],"questions":["このモデルの言葉とルールが一貫して通用する範囲はどこですか？","境界を越える時に翻訳すべき概念はありませんか？"],"suggestions":["用途ごとのモデルを分け、境界で明示的に変換する","まずチームと言葉の境界を確認し、サービス分割はその後に判断する"],"appliesTo":["model","boundary","integration"],"severity":"important","confidence":"high","status":"current","relatedEntryIds":["ddd-term-bounded-context"],"sourceIds":["evans-ddd-reference","fowler-bounded-context"]},{"id":"ddd-review-rule-scatter","title":"一つの業務ルールが複数箇所へ散らばっていないか","summary":"同じ判断条件が画面、API、バッチなどに複製されている場合、そのルールを表すモデル上の場所を確認します。","rationale":"重要な業務ルールが技術的な処理へ分散すると、変更時に一貫性を保ちにくくなります。","signals":["似たif文が複数の入口にある","業務上の可否をControllerやUIだけで判断している","同じ変更で離れた複数箇所を必ず直す"],"questions":["この判断には仕事上どんな名前がありますか？","ルールを一つのモデル上の振る舞いとして表現できますか？"],"suggestions":["ルールへ業務上の名前を付け、モデル側に集約する","技術的な入力検証と業務ルールを区別する"],"appliesTo":["business-rule","model"],"severity":"consider","confidence":"medium","status":"experimental","relatedEntryIds":["ddd-article-what-is-ddd","ddd-term-domain"],"sourceIds":["evans-ddd-reference","fowler-ddd"]}],"sources":[{"id":"evans-ddd-reference","title":"DDD Reference — Definitions and Pattern Summaries","url":"https://www.domainlanguage.com/ddd/reference/","sourceType":"original-reference","author":"Eric Evans","publishedAt":"2015-03-01","verifiedAt":"2026-08-08"},{"id":"evans-ddd-preface","title":"Preface to Domain-Driven Design","url":"https://www.dddcommunity.org/uncategorized/preface/","sourceType":"author-essay","author":"Eric Evans","publishedAt":"2009-04-01","verifiedAt":"2026-08-08"},{"id":"fowler-ddd","title":"Domain Driven Design","url":"https://martinfowler.com/bliki/DomainDrivenDesign.html","sourceType":"practitioner-article","author":"Martin Fowler","publishedAt":"2020-04-22","verifiedAt":"2026-08-08"},{"id":"fowler-bounded-context","title":"Bounded Context","url":"https://martinfowler.com/bliki/BoundedContext.html","sourceType":"practitioner-article","author":"Martin Fowler","publishedAt":"2014-01-15","verifiedAt":"2026-08-08"},{"id":"fowler-ubiquitous-language","title":"Ubiquitous Language","url":"https://martinfowler.com/bliki/UbiquitousLanguage.html","sourceType":"practitioner-article","author":"Martin Fowler","publishedAt":"2006-10-31","verifiedAt":"2026-08-08"}]}