SlideShare a Scribd company logo
1 of 53
Download to read offline
ドメイン駆動設計入門
2013年9月26日
有限会社システム設計 増田
BPStudy #73
1.ソフトウェアの核心ドメインモデル
2.ドメインモデルとオブジェクト指向
3.ドメイン駆動設計のインプット
4.ドメインモデルの実装パターン
アジェンダ
1
ソフトウェアの核心
ドメインモデル
業務システムの基本構成
画面
アプリケーション
連携
アプリケーション
帳票
アプリケーション
データベース
ドメインモデルパターン
画面
アプリケーション
連携
アプリケーション
帳票
アプリケーション
データベース
ドメイン
モデル
(ビジネス層)
業務の
データとロジック
ドメインモデル
• 業務のデータと業務の機能をコードで表現
– ビジネス層に集約する
– 関係するデータと機能をクラスにまとめる
• ハイブリットなアプローチ
– データの視点と機能の視点
• 両方からアプローチする
• 二つの視点をいったりきたりする
– データと機能の結びつき強める
• クラスにカプセル化
• データ保持クラスと機能クラス(データ操作クラス)
に分けるのはアンチパターン
関連するデータと機能は
クラスにまとめる
氏名
nameKana()
originalFamilyName()
住所
line()
city()
連絡
手段
firstChoice()
change()
changePriority()
連絡
履歴
unprocessed()
lastThreeContacts()
withinTwoMonths()
ドメインモデルをみんなで使う
画面
アプリケーション
連携/バッチ
アプリケーション
帳票
アプリケーション
データベース
氏名
住所 連絡
履歴
連絡
手段 業務で使う
データ+ロジックを
ここに集約
作る順番
データベース
OR
マッピング
2
5
アプリケーション
サービス
(API宣言)
3
ドメイン
モデル
1
機能テスト
4
なぜ
ドメインモデル
パターン
で作るのか?
コード量が減る
• テストが減る
• ドキュメントが減る
• バグ調査が楽になる
• 変更の影響が見通しやすい
コード量が減れば
ドメインモデルは
コードの重複を減らす
• あちこちに分散しがちな業務ロジックを
データ中心に整理し、集約する
• いやな臭い
– データを要求する getter メソッド
• そのデータを使うロジックが、別のクラスに分散
• あちこちのクラスに重複して書かれている危険な
兆候
コードが膨張するアンチパターン
• トランザクションスクリプト
– 機能単位/画面イベント単位に業務ロジックを記述
– あちこちの画面/帳票/外部連携に、似たロジック
が繰り返し登場
– 使われない「共通業務ロジック」(共通部品構想の
残骸)
• どこでも業務ロジック
– ビュー記述に業務ロジックをべた書き
– 画面コントローラに業務ロジックをべた書き
– Data Access Object に業務ロジックをべた書き
– SQL に業務ロジックをべた書き
ドメインモデルに
業務ロジックを集めて
重複したコードを
減らしましょう
アプリケーションの中核部品
画面
アプリケーション
連携
アプリケーション
帳票
アプリケーション
データベース
ドメイン
モデル
ここに
業務ロジックを
集める
ドメインモデル
表面に見えるメリット
• コード量が減る
• 業務のロジックが書いてある場所が見つ
けやすい
• 業務のロジックを変更した時の影響範囲
が局所化される
ドメインモデル
ほんとうの価値
• 業務の知識の浸透
– ビジネス目標/システムの価値の理解
– 業務の全体像/基本の仕組みの理解
– 業務の現場にある肌感覚、現場の知恵
• 言語表現を超えた暗黙知が育つ
– 業務アプリケーションの設計のコツ、かんどころ、
おとしどころ、…
– 個人に内面化された価値観、方向感
– チームで共有化された価値観、方向感
• 「あたり」がつくようになる
– 的外れの作業/とんでもない勘違い/手戻りが減る
– 進むべき方向がわかりやすくなる
2
ドメインモデルと
オブジェクト指向設計
個人的な話
• ドメイン駆動設計に出会って、オブジェ
クト指向も便利と思うようになった
• それまでは
– C言語で構造化プログラミング
– Oracle データベース中心アプローチ + PL/SQL
で手続き型プログラミング
• 私にとってオブジェクト指向設計は、
ドメイン駆動設計の実践手段の一つ
ドメイン駆動設計のための
オブジェクト指向設計
• 部品化
• 条件分岐と多態
• 制御構造の再利用
• 全体の建てつけ
部品化アプローチ
• 集める
– 関係するデータとロジックを一つのクラスに
– 関連するクラス群をパッケージに
• 目的に特化する
– 特化:PersonName,Money, ScheduledDate, …
– 汎用:String, BigDecimal, Date, …
• 業務用語の粒度にあわせた部品
– 「予定日」とか「合計金額」がクラス候補
– クラス=データとロジックの置き場所
区分と分岐
• 区分、種別
– 夏季料金/冬季料金
– 特別会員/一般会員
– 申請中/承認済/実行済
…
• 条件分岐で記述?
– if/else
– switch case
多態
インタフェース宣言と実装クラス
• interface 季節料金
– price ()
• 実装クラス
– class 夏価格 implements 季節料金
– class 冬価格 implements 季節料金
• データとロジックの置き場所
– 夏の期間、夏の料金計算式 → 夏価格クラス
– 冬の期間、冬の料金計算式 → 冬価格クラス
• 使う側
– どの季節でも、季節料金#price() を呼ぶだけ
多態
オブジェクトの生成と選択
Map<季節名,季節料金> 料金=
[ “夏” : new 夏価格(),
“冬” : new 冬価格() ];
price( “夏” )
{
料金.get(“夏”).price();
}
enum 季節
{
夏( new 夏価格()) , 冬( new 冬価格() ) ;
private 季節料金 料金;
季節( 季節料金 料金)
{
this.料金 = 料金
}
}
// 画面アプリケーション
// select ボックスを “夏” を選択
季節.valueOf( “夏” ).price()
// OR マッピング
enum 季節.夏 -> データベースに季節名を保存
データベースの季節名 -> enum.valuleOf(“夏” )
if 夏
return new 夏価格()
else
return new 冬価格()
※一か所だけ条件分岐が残る
制御構造の再利用
• フレームワーク
– IoC : Inversion of Control (制御の反転)
• Control = if/else, switch, for, try-catch-throw, goto …
• Inversion:反転の意味
– アプリケーションプログラミング
» 制御構造を書く → 制御構造を書かない
• たとえば
– コレクションフレームワーク と for 文
– バリデーションフレームワーク と if 文
– ORマッピングフレームワーク と for 文/if 文
– MVC フレームワークと switch 文
全体の建てつけ
アプリケーションサーバー
• アプリケーション起動イベントのリスニング
– HTTP リクエスト、非同期メッセージ、メール受信
– データベース変更、File 追加
• 文脈(Context ) に沿ったアプリケーションの実行
– ターゲットのオブジェクト#メソッドを判定・起動
– 環境依存性の分離(リソースの間接参照 JNDI etc.)
– 横断的関心事の実行 ロギング、セキュリティ、…
• たとえば
– Tomcat ( HTTP リクエストハンドラ)
– Active MQ + Mule ESB ( 非同期メッセージハンドラ)
– Jame ( メール受信ハンドラ)
補足:パターンについて
• パターン
– アーキテクチャパターン : PoEAA, EIP, …
– GoF デザインパターン
• 確立したパターンは、自分で書く必要はなくなりつつある
– GoF のオブジェクト生成パターン
• Spring : Bean コンテナ の Bean 生成機能
• Java : enum (singleton)
– GoF の Strategy/State パターン
• Java : enum
– PoEAA のドメインモデルパターンとデータマッパ
• OR Mapping ツール
– PoEAA のフロントコントローラパターン
• Spring MVC Dispatcher Servlet
– EIP
• Mule ESB
3
ドメイン駆動設計の
インプット
主要なインプット
ドメイン
モデル
最初に手に入れるべき情報
いつも気にすべき情報
機能モデリングの元ネタ
データモデリングの元ネタ
アーキテクチャ
スタイル
プロセス
スタイル
オブジェクト指向
設計スタイル
最初に手に入れるべき情報
全体イメージと方向感
• ビジネス企画書
– トップ向けのプレゼン資料
– 予算申請時の説明資料
• ドメインのガイドブック
いつも気にすべき情報
フィードバック/実験結果
• 同僚の言葉
– ビジネス企画書の言葉を使っている?
– ドメインガイドブックの言葉を使っている?
– それは画面イベント(ボタン)駆動では?
– それはデータ操作命令では?
• 利用者の反応/利害関係者の言葉
– モデルに登場しているか?
– モデルで説明できるか?
データモデリングの元ネタ
• 画面
– ワイヤーフレーム
– 項目定義書
• 帳票
– サンプル
– レイアウト、項目定義書
• 既存データベース
– DDL
– ER 図
• 外部インタフェース
– ファイル仕様書
– サンプルファイル
機能モデリングの元ネタ
• 機能要求
– 機能要求一覧
– ユースケース一覧/ユースケース記述
– バックログアイテム、ユーザーストーリー、…
– 画面遷移図、画面イベント一覧
• ユーザマニュアル、オンラインヘルプ
– 既存システム
– 類似システム
• 業務体系
– 業務マニュアル
– 組織表、職務分掌規程
データと機能
ハイブリッドなアプローチ
• データの視点
– 業務で使うデータを洗い出して構造化(データクラス)
– データの識別キーとデータ整合性
– 「一覧」や「合計」など導出データもクラスとして明示
• ロジックの置き場所の有力な「候補」
• 機能の視点
– 利用者のやりたいこと(機能要求)
– 業務の手順、判断ロジック、計算式
– ユースケース、ユーザストーリー、バックログ
– 画面遷移、画面イベント
• 二つの視点をいったりきたりしながら
– データに機能を寄せる
– 機能にデータを寄せる
ドメイン駆動設計の基本スタイル
• アーキテクチャ
– ドメインモデル中心
• フレームワークの設計思想、利用例
– 非同期メッセージング
• ビジネスがそう動いている
• プロセス
– フィードバックサイクル
– 繰り返しのリズム
– 身軽、機敏
• オブジェクト指向設計
– データ+ロジック
– 目的特化
– 継続的な設計改善(リファクタリング)
ケーススタディ
プロジェクト初日のインプット
• Aプロジェクト
– ビジネス企画書の読み合わせ
– ドメインガイドブックの持ち寄り、ななめ読み
• Bプロジェクト
– 言語、ミドルウェア、フレームワーク、…
– ツール、サーバー環境、コミットルール、…
• Cプロジェクト
– マスタースケジュール、組織体制図、会議体、…
– WBS、マイルストーン、成果物、規約、…
• Dプロジェクト
– スプリント、バックログ、スタンダップミーティング、…
– テスト駆動、ペアプログラミング、継続的デリバリ、…
4
ドメインモデルの
実装パターン
実装パターン
• 目的特化
• かたまり
• 永続化
• アプリケーションインタフェース
目的特化
ドメインモデルの基礎部品
• 日付、期間、数量、金額、単位、名称、備考、…
– String, BigDecimal, Date など汎用部品をラッピングし
た目的特化部品
– フィールド変数は、ひとつか二つ
– 長さ、文字種、形式など目的特化で限定
– ロジックの置き場所 ( getter で値を返さない )
• Value Object パターン
– 完全コンストラクタ
• すべてのフィールド値を、生成時に決定
– 不変
• setter を書かない
• 値の変更は、別のオブジェクトを生成して返す
目的特化
ファーストクラスコレクション
• コレクションだけを保持する特別クラス
class ItemList { private List<Item> }
• 汎用インタフェースを必要なものだけに限定
する
– add() , size(), …
• コレクションの操作ロジックを集約
– for 文
– 集合操作
– コレクションを他クラスに渡さない
• どうしても必要なら 不変にして渡す
目的特化
区分、種別、イベント/状態の宣言
• 静的に列挙できる場合
– enum 宣言
• インタフェース宣言+実装クラス群+Singleton
Java コンパイラがやってくれる
• 外部のマスター定義を読み込む場合
– Map + singleton
• Spring の bean 生成 + autowired
• イベント/状態
– クラスを分ける
• イベント種類ごと
• 状態種類ごと
– 遷移ロジックをステートパターンで記述
かたまりのパターン
• Bounded Context
– チームの関心スコープを明確にする
– ユビキタス言語
– 組織パターン
• モジュール
– 関心事の範囲を明確にするパッケージを宣言
– public スコープは最小限。基本はパッケージスコープ。
– モジュール間の依存関係を最少にする(方向、依存線の数)
• Aggregate
– 基礎部品 ( Value Oject ) の集合体
– 集合体の識別
• Aggregate の root オブジェクトとしての Entity パターン
– 必要なら用途別に Aggregate を用意する
• 顧客サマリー(一覧用),
• 顧客連絡先
• 顧客履歴
かたまりのパターン
Aggregateの利用
• Repository
– 業務の関心事「記録」を表現
– Aggregate 単位の保存/取り出し
– インタフェース宣言して実装と分離
• データアクセスへの依存性を逆転させる
• Transfer
– 業務の関心事「通知」を表現
– 必要なら通知専用の Aggregateを追加
• Factory
– 業務の関心事としての Builder パターン
• 「準備」や「用意」が複雑な場合
Aggregateと永続化
• データモデルとオブジェクトモデル
– データモデル ( データのみ )
• 正規化が原則
• 導出可能データは保存しない
• すべての関係は、キーを元に 1 対多として構造化
• 参照方向は「多→1」に固定
• 構造的にデータ整合性を維持する
– オブジェクトモデル(データ+ロジック)
• 導出データもオブジェクトで表現する
– ロジックの置き場所として重要
• 関連の表現の自由度が高い
– ネットワーク構造、参照方向、多重度の制約
– データ整合性はロジックで維持する必要がある
永続化
• SQL マッピングのすすめ
– 正規化したデータモデルを、SELECT 文でオブ
ジェクト用に冗長化してマッピングする
• 危険な臭い
– OR マッピングの隠ぺいや SQL自動生成
• オブジェクトが、データの入れ物の設計だけにな
りがち
• ドメインモデル(オブジェクトモデル)の設計改
善の制約になりがち
サービス層
データベース
OR
マッピング
2
5
アプリケーション
サービス
(API宣言)
3
ドメイン
モデル
1
機能テスト
4
サービス層
アプリケーションインタフェース
• アプリケーションインタフェース
– アプリケーションとドメインモデルの接点
• 業務機能の宣言(ユースケースの実現)
– 登録()、記録()、作成()、…
– 参照()、検索()、絞り込み()、…
– キャンセル()、取り消し()、訂正()、…
• 業務手順の記述
– 検証() , 記録(), 通知() 3行程度の手続きを記述
– 判断、計算、加工はドメインモデルに委譲する
おわりに
アプリケーションの中核部品
ドメインモデル
画面
アプリケーション
連携
アプリケーション
帳票
アプリケーション
データベース
ドメイン
モデル
ここに
業務ロジックを
集める
なぜドメイン駆動設計か?
• コード量が減る
– 重複しがちなコードを、データ構造を軸に整
理・統合する
– 業務ロジックが、プレゼンテーション層、
データアクセス層から消えていく
• 手戻りが減る
– 業務の仕組み/こだわりポイント/やるべき
こと
• メンバー個人に内面化
• チーム共有の暗黙知の発達
お誘い
オブジェクト設計エクササイズ
チームモデリングで学ぶドメイン駆動設計
2013/10/05 (土) 13:30 - 16:30
開催場所 : mixi 渋谷区東1-2-20 住友不動産渋谷ファーストタワー7F
参加費:五千円
内容:
チームにわかれて、ドメインモデリングを実際にやってみる
• イテレーション 3回を予定
• 業務知識が豊富なドメインモデルに育てる
• モデルとコードを結びつける
• モデルの洗練
• モデルの検証
ありがとうございました

More Related Content

What's hot

リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探しリッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し増田 亨
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説増田 亨
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)Yoshitaka Kawashima
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意Yoshitaka Kawashima
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
ドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したことドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したことBIGLOBE Inc.
 
ドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドラインドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドライン増田 亨
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring増田 亨
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2増田 亨
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門Takuya Kitamura
 
データモデリング・テクニック
データモデリング・テクニックデータモデリング・テクニック
データモデリング・テクニックHidekatsu Izuno
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門増田 亨
 
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDDドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD増田 亨
 
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8Koichiro Matsuoka
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門増田 亨
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計Tadayoshi Sato
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 

What's hot (20)

リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探しリッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
ドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したことドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したこと
 
ドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドラインドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドライン
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
データモデリング・テクニック
データモデリング・テクニックデータモデリング・テクニック
データモデリング・テクニック
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
 
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDDドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD
 
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 

Viewers also liked

ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する増田 亨
 
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?実践的な設計って、なんだろう?
実践的な設計って、なんだろう?増田 亨
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ増田 亨
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由増田 亨
 
RDRA DDD Agile
RDRA DDD AgileRDRA DDD Agile
RDRA DDD Agile増田 亨
 
【基調講演】チームを強くするクラウド
【基調講演】チームを強くするクラウド【基調講演】チームを強くするクラウド
【基調講演】チームを強くするクラウドCybozucommunity
 
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀増田 亨
 
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!Genya Murakami
 
ドメインモデルの育て方
ドメインモデルの育て方ドメインモデルの育て方
ドメインモデルの育て方増田 亨
 
リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計増田 亨
 
ドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩みドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩みhaljik Seiji
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計増田 亨
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する増田 亨
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)増田 亨
 
深層学習の非常に簡単な説明
深層学習の非常に簡単な説明深層学習の非常に簡単な説明
深層学習の非常に簡単な説明Seiichi Uchida
 
21世紀のソフトウェア技術者
21世紀のソフトウェア技術者21世紀のソフトウェア技術者
21世紀のソフトウェア技術者増田 亨
 
Effective java 輪読会 第6章 項目30-31
Effective java 輪読会 第6章 項目30-31Effective java 輪読会 第6章 項目30-31
Effective java 輪読会 第6章 項目30-31Appresso Engineering Team
 
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34Appresso Engineering Team
 
勉強会に参加しないと不幸になる話
勉強会に参加しないと不幸になる話勉強会に参加しないと不幸になる話
勉強会に参加しないと不幸になる話なおき きしだ
 
たった50分でとりあえずひととおり分かった気にはなれるアジャイル入門【新装版】
たった50分でとりあえずひととおり分かった気にはなれるアジャイル入門【新装版】たった50分でとりあえずひととおり分かった気にはなれるアジャイル入門【新装版】
たった50分でとりあえずひととおり分かった気にはなれるアジャイル入門【新装版】陽一 滝川
 

Viewers also liked (20)

ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
 
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
 
RDRA DDD Agile
RDRA DDD AgileRDRA DDD Agile
RDRA DDD Agile
 
【基調講演】チームを強くするクラウド
【基調講演】チームを強くするクラウド【基調講演】チームを強くするクラウド
【基調講演】チームを強くするクラウド
 
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀
 
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
 
ドメインモデルの育て方
ドメインモデルの育て方ドメインモデルの育て方
ドメインモデルの育て方
 
リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計
 
ドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩みドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩み
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
 
深層学習の非常に簡単な説明
深層学習の非常に簡単な説明深層学習の非常に簡単な説明
深層学習の非常に簡単な説明
 
21世紀のソフトウェア技術者
21世紀のソフトウェア技術者21世紀のソフトウェア技術者
21世紀のソフトウェア技術者
 
Effective java 輪読会 第6章 項目30-31
Effective java 輪読会 第6章 項目30-31Effective java 輪読会 第6章 項目30-31
Effective java 輪読会 第6章 項目30-31
 
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34
 
勉強会に参加しないと不幸になる話
勉強会に参加しないと不幸になる話勉強会に参加しないと不幸になる話
勉強会に参加しないと不幸になる話
 
たった50分でとりあえずひととおり分かった気にはなれるアジャイル入門【新装版】
たった50分でとりあえずひととおり分かった気にはなれるアジャイル入門【新装版】たった50分でとりあえずひととおり分かった気にはなれるアジャイル入門【新装版】
たった50分でとりあえずひととおり分かった気にはなれるアジャイル入門【新装版】
 

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

Synapse lakedatabase
Synapse lakedatabaseSynapse lakedatabase
Synapse lakedatabaseRyoma Nagata
 
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】Tomoharu ASAMI
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発Tomoharu ASAMI
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説Daisuke Nishino
 
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】Tomoharu ASAMI
 
DDD 20121106 SEA Forum November
DDD 20121106 SEA Forum NovemberDDD 20121106 SEA Forum November
DDD 20121106 SEA Forum November増田 亨
 
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】Tomoharu ASAMI
 
設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】
設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】
設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】Tomoharu ASAMI
 
Application Development Oveview
Application Development OveviewApplication Development Oveview
Application Development OveviewShinya Yanagihara
 
Azure Machine Learning アップデートセミナー 20191127
Azure Machine Learning アップデートセミナー 20191127Azure Machine Learning アップデートセミナー 20191127
Azure Machine Learning アップデートセミナー 20191127Keita Onabuta
 
設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】
設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】
設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】Tomoharu ASAMI
 
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編Daizen Ikehara
 
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜Fumiyasu Sumiya
 
ビジネス・モデリング 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第11回】
ビジネス・モデリング 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第11回】ビジネス・モデリング 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第11回】
ビジネス・モデリング 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第11回】Tomoharu ASAMI
 
東北大学AIE - 機械学習中級編とAzure紹介
東北大学AIE - 機械学習中級編とAzure紹介東北大学AIE - 機械学習中級編とAzure紹介
東北大学AIE - 機械学習中級編とAzure紹介Daiyu Hatakeyama
 
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介Denodo
 
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用日本マイクロソフト株式会社
 
中・大規模サイト作成業務フロー
中・大規模サイト作成業務フロー中・大規模サイト作成業務フロー
中・大規模サイト作成業務フローsenakamura
 
プログラムの大海に溺れないために
プログラムの大海に溺れないためにプログラムの大海に溺れないために
プログラムの大海に溺れないためにZenji Kanzaki
 

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

Synapse lakedatabase
Synapse lakedatabaseSynapse lakedatabase
Synapse lakedatabase
 
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
 
DDD 20121106 SEA Forum November
DDD 20121106 SEA Forum NovemberDDD 20121106 SEA Forum November
DDD 20121106 SEA Forum November
 
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
 
設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】
設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】
設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】
 
Application Development Oveview
Application Development OveviewApplication Development Oveview
Application Development Oveview
 
Azure Machine Learning アップデートセミナー 20191127
Azure Machine Learning アップデートセミナー 20191127Azure Machine Learning アップデートセミナー 20191127
Azure Machine Learning アップデートセミナー 20191127
 
設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】
設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】
設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】
 
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
 
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜
 
ビジネス・モデリング 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第11回】
ビジネス・モデリング 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第11回】ビジネス・モデリング 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第11回】
ビジネス・モデリング 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第11回】
 
東北大学AIE - 機械学習中級編とAzure紹介
東北大学AIE - 機械学習中級編とAzure紹介東北大学AIE - 機械学習中級編とAzure紹介
東北大学AIE - 機械学習中級編とAzure紹介
 
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介
 
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
 
組込みSW開発技術研究会キックオフミーティング
組込みSW開発技術研究会キックオフミーティング組込みSW開発技術研究会キックオフミーティング
組込みSW開発技術研究会キックオフミーティング
 
中・大規模サイト作成業務フロー
中・大規模サイト作成業務フロー中・大規模サイト作成業務フロー
中・大規模サイト作成業務フロー
 
プログラムの大海に溺れないために
プログラムの大海に溺れないためにプログラムの大海に溺れないために
プログラムの大海に溺れないために
 

More from 増田 亨

正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース増田 亨
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善増田 亨
 
事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述増田 亨
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来増田 亨
 
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primerオブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer増田 亨
 
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイルドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル増田 亨
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル増田 亨
 
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考えるソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える増田 亨
 
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチレガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ増田 亨
 
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かうビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう増田 亨
 
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かうソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう増田 亨
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java増田 亨
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して増田 亨
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計増田 亨
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす増田 亨
 
SoR 2.0 summary
SoR 2.0 summarySoR 2.0 summary
SoR 2.0 summary増田 亨
 
毎日が越境だ!
毎日が越境だ!毎日が越境だ!
毎日が越境だ!増田 亨
 
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築増田 亨
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】増田 亨
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
 

More from 増田 亨 (20)

正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
 
事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
 
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primerオブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
 
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイルドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
 
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考えるソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える
 
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチレガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
 
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かうビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう
 
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かうソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
 
SoR 2.0 summary
SoR 2.0 summarySoR 2.0 summary
SoR 2.0 summary
 
毎日が越境だ!
毎日が越境だ!毎日が越境だ!
毎日が越境だ!
 
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 

Recently uploaded

プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Recently uploaded (8)

プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

ドメイン駆動設計入門