SlideShare a Scribd company logo
1 of 22
Download to read offline
ドメイン駆動設計への手引き
関西Javaエンジニアの会'13 7月度
2013/07/31
@chipstar_light
エリック・エヴァンスのドメイン駆動設計

エリック・エヴァンス (著), 今関 剛 (監修), 和智 右桂 (翻訳), 牧野 祐子 (翻訳)
出版社: 翔泳社
発売日: 2011/4/9
原書発売日: 2003/8/22
http://www.amazon.co.jp/エリック・エヴァンスのドメイン駆動設計 -IT-Architects’Archive-ソフトウェア開発
の実践-エリック・エヴァンス /dp/4798121967/
今日のお話
● DDD本の概略
○ ドメイン駆動設計の基本的な考え方
○ ドメインモデルの構成要素
○ DDD本に沿って解説

● DDDの目次
第1部 ドメインモデルを機能させる
第2部 モデル駆動設計の構成要素
第3部 より深い洞察へ向かうリファクタリング
第4部 戦略的設計

今日は
ここ!
ドメインモデルとは?
●

モデル
○ 現実にある”もの”や”こと”を、関心毎に絞ってシンプルに図示したもの
○ 選び抜かれてシンプルにされ、意図的に組み立てられた知識の表現形式
○ 複数の人間の間で知識を共有するツール

●

ドメインモデル
○ システム化の対象となるドメイン(業務)の知識を抽象化して図示したもの
○ ドメイン駆動設計を実践する上で、開発者とドメインエキスパートをつなぐ共通
の知識表現

●

ドメインエキスパート
○ プロジェクトに参加する業務の全体像を詳しく理解している人
○ DDDにおけるドメインモデルはドメインエキスパートと共同で作り上げるもの
例:貨物輸送システム
●
●
●

顧客が依頼した貨物の状況を追跡するシステム
あらかじめ貨物を予約する
貨物が荷役の過程で所定の場所に到着した際に、自動的に請求書を顧客に送
付する
ユビキタス言語
●

ドメインモデルを用いたチーム内での共通の言語
複雑な開発にはコミュニケーションが重要
○ ドメインエキスパートと開発者はそれぞれ独自の専門用語で知識を表現し
ようとしてしまう
○ ドメインモデルをコミュニケーションにおける共通言語としよう
○

●

ドメインモデルをユビキタスな言語にする
○ ユビキタス言語がプロジェクトの全てのメンバーに行きわたり、設計から開
発、モデルからコードまで全ての成果物に反映されていること
○ ドメインエキスパートはユビキタス言語を通してそのドメインの理解を適切
に伝えられているかを見極める
○ 開発者はユビキタス言語により設計の曖昧さが排除されているかを見極め
る
モデル駆動設計
●

モデルをそのまま実装に落とす手法
○

●

モデルを基に、コードでそのモデルの概念やモデルそのものを表現する

モデルとコードを緊密に関係づける
○ ドメインモデルをユビキタス言語にするためには、その内容をコードにも落と
す必要がある
○ ドメインモデルとコードは常に整合性を保っていなければならず、それを実現
する手段としてモデル駆動設計を用いる

●

分析モデルと設計モデルという二分法を捨て去る
○ ビジネスドメインの理解のために分析モデルを作る事があるが、この用途の
モデルでは実装の問題が留意されない
○ モデル駆動設計では、分析・設計の両側面から使える単一モデルを探し出す
ようモデルを蒸留する
ドメイン駆動設計とは?
● ドメインモデルを中心とした設計・開発手法
● 開発者がドメインエキスパートと共同でドメイン知識を抽象
化したドメインモデルを作り上げる
● ドメインモデルをユビキタス言語としてドメインの知識を共有
化する
● モデル駆動設計によりユビキタス言語化されたドメインモデ
ルをそのまま実装に落とし込む

ドメイン(業務)の変更につよいアジリティ
の高いシステムを作る
レイヤ化アーキテクチャ
● ドメインを隔離する
○
○

ドメインオブジェクトをシステムの他の機能から切り離す
ドメインオブジェクトが、UIやDBといったソフトウェアの概念から影響を受け
にくくする
モデルの構成要素
● モデルを表現する要素
○ ドメインオブジェクトは基本この3つの何れかに分類される
Entities

Value Objects

Services

● モデルのライフサイクル
○ ドメインオブジェクトのライフサイクルを表現・管理するためのパター
ン
Aggregates

Factories

Repositories
Entities
● 抽象的な連続性と同一性
○

固有のIDを持ち、実装をまたいだとしても追跡されるような連続性を持つオ
ブジェクト

○

分散環境下でも、永続化前後でも追跡できないといけない

● 属性(状態)に左右されない同一性
○
○

連続性を保証するIDは、オブジェクトの属性値に左右されない

○

同一性の判断とライフサイクルは、モデル毎に個別に設計する

属性値が全て同じでもIDが異なれば別もの
属性値が異なっていてもIDが同じであれば同じもの

● 具体例
○

顧客、口座、注文、在庫、etc...
Value Objects
● 連続性と同一性が不要なオブジェクト
○
○
○

属性がどんな値であるかに焦点が置かれるもの
一過性のことも多く、操作のために生成されては破棄される
状態を変更できないもの(immutable)として扱う

● 他の何かの状態を記述する属性となる
○

「何」であるかだけが問題となり、「誰」であるか、あるいは「どれ」であるか
は問われないような設計の要素

○

エンティティの属性としても使用される

● 具体例
○

色、量、地域、経路、etc...
Services
● EntityやValueObjectには不自然な操作
○ 1つの機能や処理が単体で存在していて、もの(オブジェクト)として扱うの
が不自然なものもある

○

操作であり状態を持たない

● EntityとValueObjectのコントローラ
○ EntityとValueObjectの集合体で構築され、ドメインの能力をまとめ上げる
スクリプトとしてふるまうものが多い

○

EntityとValueObjectは、ドメイン層の持つ能力への便利なアクセスを提供
するには、粒度が細かすぎる事が多いための対処

● サービスはドメイン層だけのものではない
○ アプリケーション層やインフラストラクチャ層にもある
○ ビジネスに関係する処理を持つサービスだけをドメイン層に配置する
適用例:EntitisとValueObjectsを区別する
Aggregates(集約)
●

オブジェクトのまとまりを作る
○ 関連するオブジェクトの集まりであり、データを変更するための単位
○ モデル内にある参照をカプセル化するための抽象化

●

各Aggregateにルートと境界を設ける
○ ルートはAggregateに含まれている特定の1エンティティ
○ 外部オブジェクトから参照できるのはルートのみ
■ 境界内のオブジェクトに対する処理はすべてルートを経由する
■ データベースに問い合わせて直接取得できるのはルートだけ
○ Aggregateに明確な所有権と境界を定義し、関連を最小限に抑える

●

境界内のオブジェクトに対する一貫性を保証する
○ ルートが境界内のオブジェクトの不変条件をチェックする

●

具体例
○ 「注文」と「注文明細」、「車」と「タイヤ」や「エンジン」などの各種パーツ
適用例:Aggregatesの境界を定義する
Factories
● オブジェクトやAggregateの生成をカプセル化する
○
○
○

生成されるオブジェクトとクライアントを疎結合に保つ
複雑になりがちな生成処理を隠蔽する
生成するオブジェクトの不変条件を強制する

● オブジェクトを再構築する
○
○

ライフサイクル中に永続化されたオブジェクトを復元する処理
生成時とは異なる振る舞いになる

■

IDの採番や不変条件のチェック後の振る舞いなど

● ファクトリはドメインモデルではない
○ オブジェクトの生成がドメイン上の重要な意味を持つ事がないため
○ 但し実装には必要なドメインの構成要素
Repositories
●

永続化されたオブジェクトへのアクセス手段を提供する
○
○
○

●

オブジェクトのライフサイクルの中期を管理する
○
○
○

●

ファクトリは新しいオブジェクトを生成する
リポジトリは古いオブジェクトを見つけ出す
リポジトリ内部で発生する再構築処理はファクトリへ委譲する

集約ルートに対して一つのリポジトリを用意する
○

●

DB等の永続化インフラストラクチャをカプセル化する
複雑になりがちなデータストアに対するCRUD処理を隠蔽する
オブジェクトのコレクションがメモリ上にあると錯覚させる

集約ルート以外のオブジェクトにグローバルなアクセスは提供しない

ファクトリ同様ドメインモデルではない
適用例:Repositoresを選択する
まとめ

ドメイン駆動設計を読んでみようと思った方は...
京都DDD読書会告知

http://connpass.com/series/246/

● 京都で行うDDDの読書会
● 3週間に一度水曜日に開催
●

○ 次回はモデリングのワークショップ
こんな人、大歓迎!
○ DDDを読もうと思ってたけど一人で読むの大変だった人
○ これからDDDをやってみたい人
○ これを機にDDDを読もうという人
参考資料
● DDD難民に捧げる Domain-Driven Designのエッセンス
○ オブジェクトの広場
○ http://www.ogis-ri.co.
jp/otc/hiroba/technical/DDDEssence/chap1.html

● ドメイン駆動設計・アプリケーション構築編
○ ストラテジック チョイス
○ http://d.hatena.ne.jp/asakichy/20110509/1304899807

More Related Content

What's hot

ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門増田 亨
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ増田 亨
 
DDDを実践できるエンジニアを育成するための取り組みについて
DDDを実践できるエンジニアを育成するための取り組みについてDDDを実践できるエンジニアを育成するための取り組みについて
DDDを実践できるエンジニアを育成するための取り組みについてBIGLOBE Inc.
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと増田 亨
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2増田 亨
 
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDDドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD増田 亨
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】増田 亨
 
20160526 依存関係逆転の原則
20160526 依存関係逆転の原則20160526 依存関係逆転の原則
20160526 依存関係逆転の原則bonjin6770 Kurosawa
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計増田 亨
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門増田 亨
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring増田 亨
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門増田 亨
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかKoichiro Matsuoka
 
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探しリッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し増田 亨
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているKoichi Tanaka
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう増田 亨
 
ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てるちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる増田 亨
 

What's hot (20)

ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
DDDを実践できるエンジニアを育成するための取り組みについて
DDDを実践できるエンジニアを育成するための取り組みについてDDDを実践できるエンジニアを育成するための取り組みについて
DDDを実践できるエンジニアを育成するための取り組みについて
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
 
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDDドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
 
20160526 依存関係逆転の原則
20160526 依存関係逆転の原則20160526 依存関係逆転の原則
20160526 依存関係逆転の原則
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探しリッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
 
ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てるちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる
 

Viewers also liked

MVC の Model を考える
MVC の Model を考えるMVC の Model を考える
MVC の Model を考えるtomo_masakura
 
コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門潤一 加藤
 
キレイなコードの書き方
キレイなコードの書き方キレイなコードの書き方
キレイなコードの書き方Takuya Kitamura
 
DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤Kenshin Yamada
 
システムアーキテクト~My batis編~
システムアーキテクト~My batis編~システムアーキテクト~My batis編~
システムアーキテクト~My batis編~Shinichi Kozake
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugMasatoshi Tada
 

Viewers also liked (6)

MVC の Model を考える
MVC の Model を考えるMVC の Model を考える
MVC の Model を考える
 
コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門
 
キレイなコードの書き方
キレイなコードの書き方キレイなコードの書き方
キレイなコードの書き方
 
DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤
 
システムアーキテクト~My batis編~
システムアーキテクト~My batis編~システムアーキテクト~My batis編~
システムアーキテクト~My batis編~
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 

Similar to ドメイン駆動設計入門

RDRA DDD Agile
RDRA DDD AgileRDRA DDD Agile
RDRA DDD Agile増田 亨
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由増田 亨
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計Tadayoshi Sato
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門Yukei Wachi
 
エリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
エリック・エヴァンスのドメイン駆動設計 第3部〜8章までエリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
エリック・エヴァンスのドメイン駆動設計 第3部〜8章までakimichi Yamada
 
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い βRyo RKTM
 
Software Development with Symfony
Software Development with SymfonySoftware Development with Symfony
Software Development with SymfonyAtsuhiro Kubo
 
【19-B-5】出張!DDD難民救済キャンプ
【19-B-5】出張!DDD難民救済キャンプ【19-B-5】出張!DDD難民救済キャンプ
【19-B-5】出張!DDD難民救済キャンプkentaro watanabe
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~Saki Homma
 
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまでCode for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまでNaoyuki Yamada
 
DDDモデリングハンズオン - レガシーをぶっつぶせ。現場でDDD!2nd
DDDモデリングハンズオン - レガシーをぶっつぶせ。現場でDDD!2ndDDDモデリングハンズオン - レガシーをぶっつぶせ。現場でDDD!2nd
DDDモデリングハンズオン - レガシーをぶっつぶせ。現場でDDD!2ndBIGLOBE Inc.
 
Voicepic@FacebookNight
Voicepic@FacebookNightVoicepic@FacebookNight
Voicepic@FacebookNightManabu Shimobe
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組みKouji Matsui
 
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~Masanori Itoh
 
dstn交流会_data_spider 3.0最新情報とデモ
dstn交流会_data_spider 3.0最新情報とデモdstn交流会_data_spider 3.0最新情報とデモ
dstn交流会_data_spider 3.0最新情報とデモdstn
 
Share pointを支えるsql server2014最新情報
Share pointを支えるsql server2014最新情報Share pointを支えるsql server2014最新情報
Share pointを支えるsql server2014最新情報Atsuo Yamasaki
 
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開Hideki Takase
 
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)Ryusaburo Tanaka
 

Similar to ドメイン駆動設計入門 (20)

RDRA DDD Agile
RDRA DDD AgileRDRA DDD Agile
RDRA DDD Agile
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
エリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
エリック・エヴァンスのドメイン駆動設計 第3部〜8章までエリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
エリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
 
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
 
Software Development with Symfony
Software Development with SymfonySoftware Development with Symfony
Software Development with Symfony
 
【19-B-5】出張!DDD難民救済キャンプ
【19-B-5】出張!DDD難民救済キャンプ【19-B-5】出張!DDD難民救済キャンプ
【19-B-5】出張!DDD難民救済キャンプ
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
 
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまでCode for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
 
DDDモデリングハンズオン - レガシーをぶっつぶせ。現場でDDD!2nd
DDDモデリングハンズオン - レガシーをぶっつぶせ。現場でDDD!2ndDDDモデリングハンズオン - レガシーをぶっつぶせ。現場でDDD!2nd
DDDモデリングハンズオン - レガシーをぶっつぶせ。現場でDDD!2nd
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
Voicepic@FacebookNight
Voicepic@FacebookNightVoicepic@FacebookNight
Voicepic@FacebookNight
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
 
dstn交流会_data_spider 3.0最新情報とデモ
dstn交流会_data_spider 3.0最新情報とデモdstn交流会_data_spider 3.0最新情報とデモ
dstn交流会_data_spider 3.0最新情報とデモ
 
Share pointを支えるsql server2014最新情報
Share pointを支えるsql server2014最新情報Share pointを支えるsql server2014最新情報
Share pointを支えるsql server2014最新情報
 
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
 
テスト
テストテスト
テスト
 
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
 

More from Takuya Kitamura

アジャイルの手法を取り入れたプロジェクトマネジメントの実例
アジャイルの手法を取り入れたプロジェクトマネジメントの実例アジャイルの手法を取り入れたプロジェクトマネジメントの実例
アジャイルの手法を取り入れたプロジェクトマネジメントの実例Takuya Kitamura
 
大手ユーザー企業に入ってマネジメントでやってみたこと
大手ユーザー企業に入ってマネジメントでやってみたこと大手ユーザー企業に入ってマネジメントでやってみたこと
大手ユーザー企業に入ってマネジメントでやってみたことTakuya Kitamura
 
グローバル空調メーカーによるIoTプラットフォームへの挑戦
グローバル空調メーカーによるIoTプラットフォームへの挑戦グローバル空調メーカーによるIoTプラットフォームへの挑戦
グローバル空調メーカーによるIoTプラットフォームへの挑戦Takuya Kitamura
 
サーバーレスアーキテクチャで実現するグローバル空調IoTプラットフォームへの挑戦
サーバーレスアーキテクチャで実現するグローバル空調IoTプラットフォームへの挑戦サーバーレスアーキテクチャで実現するグローバル空調IoTプラットフォームへの挑戦
サーバーレスアーキテクチャで実現するグローバル空調IoTプラットフォームへの挑戦Takuya Kitamura
 
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオン
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオンAngularJSとバックエンドサービスAppPotで作る業務システムハンズオン
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオンTakuya Kitamura
 
Swiftにおけるclassとstructの使い分けをDDDから考える
Swiftにおけるclassとstructの使い分けをDDDから考えるSwiftにおけるclassとstructの使い分けをDDDから考える
Swiftにおけるclassとstructの使い分けをDDDから考えるTakuya Kitamura
 
UXデザイン✕アジャイル✕受託開発
UXデザイン✕アジャイル✕受託開発UXデザイン✕アジャイル✕受託開発
UXデザイン✕アジャイル✕受託開発Takuya Kitamura
 
スマートデバイスSIの落とし穴と適した開発手法とは?
スマートデバイスSIの落とし穴と適した開発手法とは?スマートデバイスSIの落とし穴と適した開発手法とは?
スマートデバイスSIの落とし穴と適した開発手法とは?Takuya Kitamura
 

More from Takuya Kitamura (9)

アジャイルの手法を取り入れたプロジェクトマネジメントの実例
アジャイルの手法を取り入れたプロジェクトマネジメントの実例アジャイルの手法を取り入れたプロジェクトマネジメントの実例
アジャイルの手法を取り入れたプロジェクトマネジメントの実例
 
大手ユーザー企業に入ってマネジメントでやってみたこと
大手ユーザー企業に入ってマネジメントでやってみたこと大手ユーザー企業に入ってマネジメントでやってみたこと
大手ユーザー企業に入ってマネジメントでやってみたこと
 
グローバル空調メーカーによるIoTプラットフォームへの挑戦
グローバル空調メーカーによるIoTプラットフォームへの挑戦グローバル空調メーカーによるIoTプラットフォームへの挑戦
グローバル空調メーカーによるIoTプラットフォームへの挑戦
 
サーバーレスアーキテクチャで実現するグローバル空調IoTプラットフォームへの挑戦
サーバーレスアーキテクチャで実現するグローバル空調IoTプラットフォームへの挑戦サーバーレスアーキテクチャで実現するグローバル空調IoTプラットフォームへの挑戦
サーバーレスアーキテクチャで実現するグローバル空調IoTプラットフォームへの挑戦
 
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオン
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオンAngularJSとバックエンドサービスAppPotで作る業務システムハンズオン
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオン
 
Swiftにおけるclassとstructの使い分けをDDDから考える
Swiftにおけるclassとstructの使い分けをDDDから考えるSwiftにおけるclassとstructの使い分けをDDDから考える
Swiftにおけるclassとstructの使い分けをDDDから考える
 
UXデザイン✕アジャイル✕受託開発
UXデザイン✕アジャイル✕受託開発UXデザイン✕アジャイル✕受託開発
UXデザイン✕アジャイル✕受託開発
 
スマートデバイスSIの落とし穴と適した開発手法とは?
スマートデバイスSIの落とし穴と適した開発手法とは?スマートデバイスSIの落とし穴と適した開発手法とは?
スマートデバイスSIの落とし穴と適した開発手法とは?
 
jOOQの紹介
jOOQの紹介jOOQの紹介
jOOQの紹介
 

ドメイン駆動設計入門