SlideShare a Scribd company logo
1 of 53
Download to read offline
ドメイン駆動設計の
捉え方
2015/07/18版
アジェンダ
• 言葉の定義
• ドメイン駆動設計の原則
• 効果的なモデリングの要素
• 戦略的設計
• より深いドメインモデルへ向かうリファクタリング
• しなやかな設計
• ドメインの隔離方法
• まとめ
言葉の定義
ドメインとは?
• ドメインとは、ソフトウェアを利用する人達の
活動と関心ごと。
• ソフトウェアの利用は利用者の活動の一部なの
で、利用しないシーンも含めて活動の目的・背景
を理解することがドメインを理解するというこ
と。
モデルとは?
• モデルとは、膨大な知識を整理したシンプルで
わかりやすい図。
• 大量のinput情報に対して、本当に重要な情報だ
けを選別して、シンプルな表現でoutputするこ
と。
ドメインモデルとは?
• 対象領域において、プロジェクトメンバの頭の中
で構築された概念の集まり。
• 用語と概念の関係性を表現。
ドメイン駆動設計の
原則
• ドメインに集中する。
• ドメインモデルを探求する。
• ユビキタス言語を語る。
ドメインに集中する
• 一番複雑なのは、『ドメインそのもの(ユーザ
の活動やビジネス)』
• ドメインの複雑性を考慮して、設計すべき。
• 技術だけに注力して作られたソフトウェアはド
メインエキスパートの考え方と結びつかない。
• 業務中心 > 技術中心
ドメインモデルを探求する
• ドメインに対する深い理解と集中すべき主要な
概念を反映したモデルを作成する。
• ドメインエキスパートと開発者の共同作業でドメ
インモデルを作り上げていく。
• ドメインモデルは時間と共に進化する。
ユビキタス言語を語る
• ユビキタス言語により、ドメインエキスパートと
開発者を結びつける。
• ドメインモデルを作成するための共同作業は、
ドメインエキスパートと開発者で共通認識の言
語を形成していくプロセス。
• ユビキタス言語はコードやタスク・機能の記述
などでも利用
効果的な
モデリングの要素
・実装を通して、モデルにフィードバックをかけることが重要
ドメインモデルと実装を結びつける
・モデリングとプログラミングでメンバを分離しない
・モデルの持つ意図を実装に引き継ぐ
・ドメインモデルがプロジェクトの中心で、
他のドキュメントなどはモデルから言葉を取り出す
ドメインモデルに基づいて
言語を洗練させる
・最終的には、プロジェクトで流れ続ける情報を
体系化するためのツールとしてモデルを位置付ける
・データモデルと違い、振る舞いと業務ルールも表現する
知識豊富なドメインモデルを作成
・ドメインエキスパートの頭にある膨大な情報から
役に立つ知識をモデル化する
・開発メンバーが全員参加で作成する
・分析と設計の両方で利用できるモデルを作成
・イテレーションごとに重要な概念を追加し、
不要な概念を削除する
ドメインモデルを蒸留させる
・表現すべきことをより簡単に言う方法を見つける
・会話の表現がわかりやすいか、ぎこちないかを検証する
ドメインモデルの言葉をブレーンス
トーミングなどで実験する
・メンバ全員で一緒にモデルをかみ砕くことにより、
メンバ間のやりとりを変化させていく
戦略的設計
• 境界づけられたコンテキスト
• 蒸留
• 大規模な構造
境界づけられたコンテキスト
• 明示的に境界づけられたコンテキストを定義し
た上で、ドメインモデルを適用するのはコンテキ
スト内部に限定。
• コンテキスト同士の関係も定義することによっ
て、モデルの質が低下するのを避ける。(コン
テキストマップのこと)
蒸留
• モデルで最も価値がある領域をコアドメインと
いう。
• コアドメインを探す活動を蒸留という。
• コアドメインを見つけて、コアドメインをサポー
トする大量のモデルやコードから容易に区別す
る手段を提供すること
大規模な構造
• システムをおおよその構造から議論/理解できる
ようにするための枠組み。
• 個別部分を最適に構造化するよりも、モデル全
体としての扱いやすさを優先。
大規模な構造
∼責務のレイヤー∼
• ドメインモデル内にある概念上の依存関係を調
べて、自然な階層が認められたら、階層に抽象
的な責務を割り当てを実施。
• 階層は、ドメインの基本的な現実や優先事項を
伝える。
• 階層の責務を決める際は、技術的な意思決定と
いうより、ビジネス上の意思決定で行う。
大規模な構造
∼責務のレイヤーの例∼
依
存
関
係
DDD本より引用
蒸留 大規模な構造
依
存
関
係
DDD本より引用
戦略的設計のまとめ
• 「大規模な構造」と「蒸留」によって、ドメイ
ン内の複雑な関係を理解できるようになる一方
で、全体像を見失わずにいられる。
• 「境界づけられたコンテキスト」によって、別々
のシステムの作業を進めても、モデルを壊してし
まったり、意図せず断片化してしまったりする
ことがなくなる。
より深いドメインモデルへ
向かうリファクタリング
リファクタリングのレベル
マイクロリファクタリング
• コードを読みやすくするなど、技術視点で実
施。
ドメインリファクタリング
• ドメインについての新たな洞察から実施。
リファクタリングのアプローチ
• ドメインリファクタリングから開始。
• ドメインモデルのリファクタリングにおいて、ド
メインモデルに対する不満の原因が何であれ、
意図を明確かつ自然に伝達するようモデルを改
良する方法を探し出す。
コミュニケーションのぎこちなさ
• コミュニケーションのぎこちなさに敏感になる
ことによって、リファクタリングの候補を探す。
• ドメインエキスパートと開発者の両方ともドメイ
ンモデルにない語彙を使用したら警告サイン。
• 警告サインを好機と捉えて、その語彙を取り込
むことでドメインモデルとコードを改善する。
設計のぎこちなさ
• 以下のような複雑な箇所は、ドメイン側の活動
における目的や背景を改めて理解して、改善につ
なげる。
• 新しい要求が来るたびに複雑になっていく箇
所
• 説明しにくい複雑な業務ロジックが存在する
箇所
リファクタリングの最終目標
• コードが何をしているかを理解できるようにな
ることに加えて、コードで表現された背景を理
解できるようになること。
• これにより、ドメインエキスパートとのコミュニ
ケーションとコードが関連づき、より深いドメ
インモデルを探求できる。
大切なこと
• ドメインモデルと実装は、絶えず前進するだけの
プロセスではない。
• 初期のドメインモデルと実装では重要と思えな
かった問題が、困ったことになるのを防ぐため
に、頻繁にリファクタリングを行い、ドメイン
モデルと実装を改善するプロセスが大事。
しなやかな設計
概要
• 初期リリース以降も、プロジェクトの進行を加
速させるためには、変更に強い設計が必要不可
欠。
• しなやかな設計とは『変更に強い設計』と定
義。
テクニックの分類
抽象化
理解を容易にして、
詳細を隠 する
分割
適切な粒度を保ち
かつ依存関係を排除する
意図の明白な
インターフェース
副作用のない関数
表明
概念の輪郭
独立したクラス
閉じた操作
意図の明白なインターフェース
• クラス名/メソッド名は手段ではなく、目的が把
握できるユビキタス言語の名前を付与。
• ユビキタス言語にすることによって、チームメン
バーがすぐに意味を推測できる。
• 呼び出し側はインターフェースの内部処理を理解
不要。
副作用のない関数
• 複雑なロジックは、副作用のない関数によって、
安全に実行。
• 副作用とは、システムの状態に対して行われる、
あらゆる変更を意味。
• 呼び出し側で、副作用があるのか/ないのかを安全
に予測できることが重要。
• コマンドクエリ分離の考え方。
表明
• システムの状態を変更するメソッドは、表明に
よって特徴づける。
• 表明の具体的な表現方法としては、自動化され
たユニットテストで表現。
条件名 説明
事後条件
• 事後条件が操作の副作用なので、メソッドを呼び出すことで保証される
結果を記述
事前条件 • 事前条件とは事後条件が成り立つことを保証するために満たすべき条件
クラスの不変条件
• あらゆる操作が終わったときのオブジェクトの状態を宣言。集約全体の
整合性に関するルールを厳密に定義
概念の輪郭
• ドメインオブジェクトは、意味のある単位をよ
り直感的に使用したり、組み合わせたりできる
ような単位で分割。
• 最初から理想となる分割はできず、リファクタ
リングした結果によるもの。
✦ リファクタリングは技術視点ではなく、ド
メイン視点で実施。
独立したクラス
• 関連が多ければ多いほど、モデルは複雑になる
ので、オブジェクト間の関連は低結合になるよ
うに徹底的にやる。
閉じた操作
• 引数の型と戻り値の型が同じ場合は、閉じた操
作と呼ぶ。
• 閉じた操作にすることによって、引数と戻り値
が同じ型になるので、余計な概念を呼び込む必
要がなくなる。
• 操作の引数や戻り値に新たなクラスが登場する
と、新たな依存関係ができてしまう。
ドメインの隔離方法
何と隔離する?
• ドメインをシステムの他の機能から切り離すこ
とが重要。
• 他の機能とは、画面やデータの永続化の機能の
こと。
隔離手段
∼レイヤ化アーキテクチャ∼
• ドメイン駆動設計では以下4層に分離。
レイヤー名 説明
ユーザインターフェース層 • ユーザに情報を表示して、ユーザからの何らかのリクエストを解釈
アプリケーション層
• ビジネスルールや知識は含まない
• やるべき作業を調整するだけで、実際の処理はドメイン層に委譲
• ビジネス状況を反映する状態は保持しない
ドメイン層
• ビジネスの概念やビジネスルールを表現
• ビジネス状況を反映する状態はドメイン層で制御され、実際の格納処理
はインフラストラクチャに委譲
インフラストラクチャ層
• ドメインオブジェクトの永続化処理を行う
• アプリケーションのためのメッセージ送信
各レイヤの依存関係
• ドメイン層はどの層にも依存させない。
ドメイン層
ユーザインター
フェース層
アプリケーショ
ン層
インフラストラ
クチャ層
隔離する目的
• 本質的なビジネスの知識を捉えることが可能。
• プロジェクトが進むごとに蒸留しやすい設計。
• ソフトウェアの技術(htmlやsqlなど)に関係す
る概念と混同しなくなるので、ドメインを見失
うことを避ける。
まとめ
ドメイン駆動設計の成功
• 深いモデルによって、明確なビジョンがもたらさ
れ、そのビジョンが新しい洞察を生み出す。
• しなやかな設計によって継続的な変更が容易に
なる。
ドメイン駆動設計の成功
• 対象となるドメインを理解し、その理解をソフ
トウェアにおいて、具現化することを重視。
• ドメインモデルの品質に満足できないのは、ド
メインについて学び続けている証拠。
ドメインが存在する限り、
変化し続け
成長し続け
価値を届け続ける
ソフトウェアを作り続けることが重要
おまけ
DDDを理解するために
• DDD本には、ドメインモデルとコードを行った
り来たりして、深いドメインモデルを築き上げて
いく。
• 哲学書のDDD本をちょっとでも理解するために
は、本の内容と実践を行ったり来たりして、理
解を深めていくことが重要。
同じような考えで

More Related Content

What's hot

ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
Tadayoshi Sato
 

What's hot (20)

ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
 
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDDドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
 
ドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドラインドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドライン
 
ドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したことドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したこと
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
 
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
 
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)
 
ドメイン駆動設計 分析しながら設計する
ドメイン駆動設計 分析しながら設計するドメイン駆動設計 分析しながら設計する
ドメイン駆動設計 分析しながら設計する
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
 
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くかDDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイントドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
 

Viewers also liked

オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版
Mao Ohnishi
 
20150616 dev love発表資料
20150616 dev love発表資料20150616 dev love発表資料
20150616 dev love発表資料
Mao Ohnishi
 
AngularJSでの非同期処理の話
AngularJSでの非同期処理の話AngularJSでの非同期処理の話
AngularJSでの非同期処理の話
Yosuke Onoue
 

Viewers also liked (20)

20151110 ドメイン駆動設計によるサービス開発
20151110 ドメイン駆動設計によるサービス開発20151110 ドメイン駆動設計によるサービス開発
20151110 ドメイン駆動設計によるサービス開発
 
オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版
 
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
 
20150616 dev love発表資料
20150616 dev love発表資料20150616 dev love発表資料
20150616 dev love発表資料
 
AngularJSでの非同期処理の話
AngularJSでの非同期処理の話AngularJSでの非同期処理の話
AngularJSでの非同期処理の話
 
ヤマオススメ@NGK2014
ヤマオススメ@NGK2014ヤマオススメ@NGK2014
ヤマオススメ@NGK2014
 
基礎からのCode Contracts
基礎からのCode Contracts基礎からのCode Contracts
基礎からのCode Contracts
 
初心者のためのWeb標準技術
初心者のためのWeb標準技術初心者のためのWeb標準技術
初心者のためのWeb標準技術
 
設計書からの卒業
設計書からの卒業設計書からの卒業
設計書からの卒業
 
コードレビューのススメ
コードレビューのススメコードレビューのススメ
コードレビューのススメ
 
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
 
Base DDD(ドメイン駆動設計) 参考文献を巡る旅
Base DDD(ドメイン駆動設計) 参考文献を巡る旅Base DDD(ドメイン駆動設計) 参考文献を巡る旅
Base DDD(ドメイン駆動設計) 参考文献を巡る旅
 
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀
 
ドメイン駆動設計再入門
ドメイン駆動設計再入門ドメイン駆動設計再入門
ドメイン駆動設計再入門
 
sqldf for pandas
sqldf for pandassqldf for pandas
sqldf for pandas
 
キレイなコードの書き方
キレイなコードの書き方キレイなコードの書き方
キレイなコードの書き方
 
pandasによるデータ加工時の注意点やライブラリの話
pandasによるデータ加工時の注意点やライブラリの話pandasによるデータ加工時の注意点やライブラリの話
pandasによるデータ加工時の注意点やライブラリの話
 
カラーミーAPIドキュメントの今後
カラーミーAPIドキュメントの今後カラーミーAPIドキュメントの今後
カラーミーAPIドキュメントの今後
 
FirefoxOSで学ぶJavaScript作法
FirefoxOSで学ぶJavaScript作法FirefoxOSで学ぶJavaScript作法
FirefoxOSで学ぶJavaScript作法
 

Similar to ドメイン駆動設計の捉え方 20150718

これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れ
Mitsuru Katoh
 
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
Ryo RKTM
 

Similar to ドメイン駆動設計の捉え方 20150718 (20)

社内 DDD 勉強会第1回
社内 DDD 勉強会第1回社内 DDD 勉強会第1回
社内 DDD 勉強会第1回
 
社内 DDD 勉強会 #2
社内 DDD 勉強会 #2社内 DDD 勉強会 #2
社内 DDD 勉強会 #2
 
これって、ドメイン駆動設計?
これって、ドメイン駆動設計?これって、ドメイン駆動設計?
これって、ドメイン駆動設計?
 
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
 
社内 DDD 勉強会 #5
社内 DDD 勉強会 #5社内 DDD 勉強会 #5
社内 DDD 勉強会 #5
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
 
【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法
【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法
【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法
 
Slide computational design2019_11_191206
Slide computational design2019_11_191206Slide computational design2019_11_191206
Slide computational design2019_11_191206
 
Find Your Ability: IA for a novice Web Creator
Find Your Ability: IA for a novice Web CreatorFind Your Ability: IA for a novice Web Creator
Find Your Ability: IA for a novice Web Creator
 
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れ
 
【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション
【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション
【de:code 2020】 Power Platform いまさら聞けないモデル駆動型アプリケーション
 
Vertex Perspectives | Low-Code Platforms (Japanese)
Vertex Perspectives | Low-Code Platforms (Japanese)Vertex Perspectives | Low-Code Platforms (Japanese)
Vertex Perspectives | Low-Code Platforms (Japanese)
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
 
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
 
NS study8 DDD Microservices Azuer Service Fabric
NS study8 DDD Microservices Azuer Service FabricNS study8 DDD Microservices Azuer Service Fabric
NS study8 DDD Microservices Azuer Service Fabric
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
MongoDB社の製品紹介 2019-MongoDB EA&Atlas
MongoDB社の製品紹介 2019-MongoDB EA&AtlasMongoDB社の製品紹介 2019-MongoDB EA&Atlas
MongoDB社の製品紹介 2019-MongoDB EA&Atlas
 
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステムJPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
 

More from Mao Ohnishi (7)

新規事業「Bill One」による Google Cloud 活用術
新規事業「Bill One」による Google Cloud 活用術新規事業「Bill One」による Google Cloud 活用術
新規事業「Bill One」による Google Cloud 活用術
 
リモート拠点を立ち上げる楽しさと苦労
リモート拠点を立ち上げる楽しさと苦労リモート拠点を立ち上げる楽しさと苦労
リモート拠点を立ち上げる楽しさと苦労
 
新規事業を 支える文化と加速させる技術 ~ devops / GCP / DDD ~
新規事業を支える文化と加速させる技術~ devops / GCP / DDD ~新規事業を支える文化と加速させる技術~ devops / GCP / DDD ~
新規事業を 支える文化と加速させる技術 ~ devops / GCP / DDD ~
 
新規事業を加速させる技術
新規事業を加速させる技術新規事業を加速させる技術
新規事業を加速させる技術
 
東京本社よりも地方開発拠点を活性化させるコツ!!!!
東京本社よりも地方開発拠点を活性化させるコツ!!!!東京本社よりも地方開発拠点を活性化させるコツ!!!!
東京本社よりも地方開発拠点を活性化させるコツ!!!!
 
新メンバーが多いチームにおけるプロジェクトマネジメントのコツ(苦労話)
新メンバーが多いチームにおけるプロジェクトマネジメントのコツ(苦労話)新メンバーが多いチームにおけるプロジェクトマネジメントのコツ(苦労話)
新メンバーが多いチームにおけるプロジェクトマネジメントのコツ(苦労話)
 
結果を出すチームビルディング術
結果を出すチームビルディング術結果を出すチームビルディング術
結果を出すチームビルディング術
 

ドメイン駆動設計の捉え方 20150718