ドメイン駆動設計
[Wikipedia|▼Menu]
.mw-parser-output .sidebar{width:auto;float:right;clear:right;margin:0.5em 0 1em 1em;background:#f8f9fa;border:1px solid #aaa;padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:75%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:720px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}

ソフトウェア開発
中心となる活動


開発プロセス

要求

アーキテクチャ

設計

エンジニアリング

実装

テスト

デバッグ

デプロイメント

メンテナンス

パラダイムとモデル


アジャイル

クリーンルーム

反復

ソフトウェアプロトタイピング

スパイラル

Vモデル

ウォーターフォール

方法論とフレームワーク


ASD(英語版)

DevOps

DAD(英語版)

DSDM(英語版)

FDD

IID

かんばん

リーン(英語版)

LeSS(英語版)

MDD

MSF(英語版)

PSP(英語版)

RAD

RUP

SAFe(英語版)

スクラム

SEMAT(英語版)

TSP(英語版)

OpenUP(英語版)

UP

XP

開発支援


構成管理

ドキュメンテーション

品質保証(SQA)

プロジェクト管理

ユーザーエクスペリエンス

プラクティス


ATDD(英語版)

BDD

CCO(英語版)

CI

CD

DDD

PP

SBE(英語版)

Stand-up(英語版)

TDD

ツール


コンパイラ

デバッガ

リンカ

プロファイラ

GUIビルダ

モデリング(英語版)

IDE

ビルド自動化

リリース自動化

Infrastructure as code

テスト

標準と機関


BABOK

CMMI

IEEE standards

ISO 9001

ISO/IEC JTC 1/SC 7(英語版)

PMBOK

SWEBOK

ITIL

用語集


人工知能(英語版)

コンピュータ科学(英語版)

ドメイン駆動設計(ドメインくどうせっけい、英語: domain-driven design、DDD)とは、ドメインの専門家からの入力に従ってドメインに一致するようにソフトウェアをモデル化することに焦点を当てるソフトウェア設計手法である[1][2]オブジェクト指向プログラミングに関しては、ソースコード(クラス名・クラスメソッドクラス変数)の構造と名称がビジネスドメインと一致させる必要があることを意味する。例えばローンの申し込みを処理するソフトウェアには、LoanApplicationやCustomerなどのクラスと、AcceptOfferやWithdrawどのメソッドが含まれることになる。ドメイン駆動設計は次の目標に基づいている。

プロジェクトの主な焦点をコアドメインとドメインロジックに置く。

ドメインのモデルに基づく複雑な設計。

特定のドメインの問題に対処する概念モデルを繰り返し改良するために、技術とドメインの専門家の間で創造的なコラボレーションを開始する。

ドメイン駆動設計では、開発者は通常モデルを純粋で有用な構造として維持するために大量の分離とカプセル化を実装する必要があると批判されているが、ドメイン駆動型設計は保守性などの利点を提供する。一方でMicrosoftは、モデルがドメインの共通理解を策定する上で明確な利点を提供する複雑なドメインにのみ推奨している。この名称は、Eric Evansが著作Domain-Driven Design: Tackling Complexity in the Heart of Softwareで用いた[3]
概要

ドメイン駆動型設計は、多くの高レベルの概念と実践を明確に示している[3]。最も重要なのはドメインであり、ユーザーがプログラムを適用するサブジェクト領域は、ソフトウェアのドメインである。ソフトウェアのドメインは、そのコンテキスト、つまり、その意味を決定する単語またはステートメントが表示される設定を管理する。このことから、開発者はドメインモデルを構築する。これは、ドメインの選択された側面を記述し、そのドメインに関連する問題を解決するために使用できる抽象化のシステムである。ドメイン駆動設計のこれらの側面は、ユビキタス言語を促進することを目的としている。つまり、ドメインモデルは、システム要件、ビジネスユーザー、スポンサー、および開発者を記述するためにドメインの専門家によって共有されるcommon language(共通言語)を形成するべきである、という考えである[3]。ドメイン駆動設計では、ドメイン層(英語版)はオブジェクト指向多層アーキテクチャの共通層(英語版)の1つである。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:32 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef