SlideShare a Scribd company logo
1 of 38
Download to read offline
「ドメイン駆動設計の実践」
思えば遠くにきたもんだ
そして、道は続く
ギルドワークス株式会社 増田
2015-09-19(土)
DDD(ドメイン駆動設計)実践者の話を聞いてみよう
歩きながら考え、考えながら歩く
楽しみながら
時には道に迷いながら
一歩一歩、「そこ」を目指して
「そこ」を目指して歩き続ける
ソフトウエアの核心にある複雑さ
変化に適応しながら成長を続ける
ソフトウェアの変更容易性
ガイドブック
Wabi Sabiを読み解く
生命の現象
「まえがき」 凝集されたメッセージ
• 「ドメイン駆動設計」のふるさと
• 対照的な3つのプロジェクト
• 複雑さという課題
• 設計対開発プロセス
• 本書の構成
• 本書が対象とする読者
• ドメイン駆動チーム
オブジェクト
コミュニティ
ドメインモデル
ドメインという複雑さ
XPと設計
目標/土台/主活動/広がり
オブジェクト指向の開発者
最大の収穫を得る方法
「まえがき」を時々読みなおし、そのたびに新たな気づきを得る旅が続いている
自分がどこをめざしているか? どこまで到達できたか?
「そこ」を目指して歩き続ける
ソフトウエアの核心にある複雑さ
変化に適応しながら成長を続ける
ソフトウェアの変更容易性
ソフトウェアの
核心にある複雑さ
「まえがき」 複雑さという課題
• もっとも重要な複雑さは、技術的なものではない
• 複雑なのは「ドメイン」そのもの
• つまり「ユーザの活動やビジネス」そのものが複雑
• ソフトウェアにおけるこの複雑な側面を体系的に
扱うために
– 一番の焦点はドメインとドメインロジックに合わせる
– 複雑なドメインの設計は「モデル」にもとづかなければ
ならない
ここを理解しはじめた時が転換点
挑戦し、手ごたえと挫折を経験しながら、今も挑戦を続けている
活動の目的/背景
ドメインとソフトウェア
利用する人たちの
活動と関心事
ソフトウェア
ドメインの「複雑さ」を扱うソフトウェア
ドメインの「複雑さ」を扱うソフトウェア
• 重要な「複雑さ」は、ドメインそのもの
• ドメインの「複雑さ」を「ドメイン層」に集める
– プレゼンテーション層から「複雑さ」を取り除く
– アプリケーション層から「複雑さ」を取り除く
– データソース層から「複雑さ」を取り除く
• 「ドメイン層」に集めた「複雑さ」は、
「モデル」を中核にして、見通しをよくし、秩序
だてていく
モデル
• 膨大な知識を「要約」した
シンプルでわかりやすい説明
• モデリングのスキル=「要約力」
–重要な要素を発見する力
–本質的でないものを削る力
–厳密に組み立てる力
ドメインモデル
• ソフトウェアを利用する人たちの「活動」と
「関心事」の本質を簡潔に表したもの
• 表現
–チームの会話に登場する「言葉」
–ラフスケッチ
–コード
–(文章や図)
コードで表現したドメインモデル
第1部 ドメインモデルを機能させる
第2章
言葉を使った意図の伝達
第1章
ドメインの知識をかみ砕く
第3章
モデルと実装を結びつける
ドメイン
モデル
ドメインの
膨大な情報を
かみ砕き、蒸留して
重要な関心事を
鋭く説明する
選び抜かれた
ドメインの重要な関心事を
コードで表現する
会話を繰り返して
「要約」を改善する
(重要点を明確にする)
「重要な語彙」をメンバーで
合意する/共有する
「モデル」と「実装」を結びつける
「住所」を明示する
関連や集約の議論の広がり
関心事の「抽出」
クラスの「分割」ではない
関連/集約の設計は不要
O-R マッピングが簡単
暗黙の概念「住所」
• もっとも重要な複雑さは、技術的なものではない
• 複雑なのは「ドメイン」そのもの
• つまり、「ユーザの活動やビジネス」そのもの
• ソフトウェアにおけるこの中心的な側面を体系的
に扱う
– 一番の焦点はドメインとドメインロジックに合わせる
– 複雑なドメインの設計は「モデル」にもとづかなければ
ならない
ソフトウエアの核心にある複雑さ
ここを理解しはじめた時が転換点
挑戦し、手ごたえと挫折を経験しながら、今も挑戦を続けている
変化に適応しながら
成長を続ける
ソフトウェアの核心にある複雑さに立ち向かうために
「適応型」のソフトウェア開発
開発の
スタイル
方法論
ソフトウェアの
最終形(着地点)
開発サイクル
予測型
ウォータ
フォール
事前に定義
厳密に定義
固定
分析/設計/製造
反復・
漸進型
RUP
それなりに定義
反復ごとに精緻化
方向付/推敲/作成/移行
各フェーズで分析/設計/製造を、
N回「反復」する
適応型
XP
スクラム
ざっくりと定義
日々更新
日、週、春夏秋冬
(人間の生活リズム)
ここの発想の転換が大きな突破口
体にしみついたウォータフォールスタイルとの戦い
ソフトウェアの開発スタイル
• 「変更」との戦い方の歴史
– 変更のコストとの戦い方
– 変更のリスクとの戦い方
• 「エクストリームプログラミング」は、積極的に
「変化を目指す」開発スタイル
変更を
管理する
変更を
受入れる
変化を
目指す
予測型 反復・漸進型
適応型
(創発型)
転換点
• ずっと疑問だったこと
– アジャイルでの「設計」のやり方 (やらない?)
• 気づき
– XPは設計に関するセンスを持った開発者にもっとも
適している by エリック・エヴァンス
– 毎日、設計に投資する by ケント・ベック
– オブジェクト指向では、分析/設計/実装/保守は「シー
ムレス」である by バートランド・メイヤー
• 行動
– オブジェクト指向の「変更容易性」の勉強のしなおし
– 現場での体験と手ごたえ
– エクストリームプログラミングの再発見
変化を目指す開発チーム
• コミュニケーション
– 言葉を使って意図を伝える
• シンプリシティ
– 複雑になるほど変化が難しくなることを知っている
• フィードバック
– 経験/実験にもとづき進むべき道を探す
• 勇気
– 行動する勇気、耐える勇気
• リスペクト
– お互いの考えと行動に関心を持ち、かつ、尊重する
• ソフトウェア(の設計)
– ドメインモデル
– ドメイン層
– アプリケーション
• ヒト
– 開発チーム
– 個人
変化に適応しながら成長を続ける
ソフトウェアの核心にある複雑さに立ち向かうための開発スタイル
ドメインモデルを少しずつ成長させていく
ドメインモデルの成長は、チームの成長 (要求理解度や設計スキル)
ドメインモデルとチームの成長がソフトウェア全体に波及しくいく
ソフトウェアの変更容易性
ソフトウェアの核心にある複雑さに立ち向かうために
変化に適応しながら成長を続けるために
オブジェクト指向と「変更容易性」
• 抽象データ型/段階的抽象化
– プログラムを人間の発想に近づけると扱いやすい
• モジュラープログラミング
– 独立性の高い部品に分けると扱いやすい
• メッセージング
– 部品の組合せ方を柔軟にすると扱いやすい
どのパラダイムにも共通する設計の考え方
ドメイン層のコードは、たぶん似たものになる
LocalDate
日付を汎用的に扱う手段
Java APIのレイヤ
int year
short month
short day
LocalDateの内部
Java言語仕様のレイヤ
if( day > 31 ) …
DateOfBirth
「誕生日」に用途を限定した独自定義クラス
「ドメイン層」の一級市民(ドメインオブジェクト)
人間の発想
コンピュータの
仕組み
抽象データ型/段階的な抽象化
コードを人間の発想に近づける
Boolean 今月が誕生月()
Days 誕生日まであと何日()
plusDays()
plusMonths()
「モジュール化」と「メッセージング」
受付役
仲介役
回答役
経路情報
専門家
判定役
おーい
手伝って
後は
まかせた
おーい
考えて
おーい
教えて
教えて
最短経路は…
独立性の高い部品
独立性の高い部品
独立性の高い部品
独立性の高い部品
独立性の高い部品
人間の営みと同じ仕組み
必要に応じて最適チームを結成
オブジェクト指向への道
• よくわかっていなかった
– 本を読んでもわからない
– コード書いてもぴんとこない
– 冗長で遅いだけ?
• 1990 頃 Unix/C
• 1995 頃 DOA+手続き型プログラミング
– Oracle, PL/SQL, Pro*C
• 1998 頃
– Java, DTO, 長いメソッド,大きなクラス
• 2005年12月30日 運命の電話
転換点
• 変更に苦しんだ大炎上プロジェクト (C#)
– どこに何が書いてあるかわからない
– 変更した時に、どこで何がおきるかわからない
– 同じ修正をあちこちに適用
• 修正漏れ
• 不要な箇所のまちがった修正
• リファクタリング
– 面白いように効果がでてくる
– メソッドの抽出
– クラスの抽出
– プレゼンテーションとドメインの分離
– 手続き型からオブジェクト指向へ
手続き型からオブジェクト指向へ
• 値オブジェクト
– データとロジックを一箇所にまとめる
– 状態を変えない/自分と同じ型のオブジェクトを返す
– 「型名」を使った意図の伝達
• インスタンス変数の「型名」
• 引数の「型名」
• メソッドの返す「型名」
• ファーストクラスコレクション
– インスタンス変数にコレクションを持つオブジェクト
– コレクションの操作の置き場所
– 可変性の閉じ込め方
• メソッドオブジェクトによるメソッドの置き換え
– 長いメソッド/複雑なローカル変数の使い方
• 「データクラス」へ「ロジック」を移動
変更が楽に安全になる手ごたえ
その次にきた転換点
• 基本構造は「トランザクションスクリプト」だった
– アクション駆動(ユースケース駆動)
– DTOとコードの重複
– プレゼンテーション層へのドメインロジックの分散
• ドメインモデルパターンへ
– ドメインオブジェクト
• 分析クラスをそのまま実装クラスに
– ドメイン層
• ドメインオブジェクトのネットワーク
– 機能駆動/画面駆動/テーブル駆動ではない設計ス
タイルへ
ドメインモデルパターンへ
• 「重複が減る」
– by マーチン・ファウラー
– 飛びついた
– やってみたら、ほんとうに重複が減った
• 「ドメイン層」の開発に集中せよ
– Spring それ以外の層は俺たちが良いものを提供
するぜ by ロッド・ジョンソン
– ソフトウェアの複雑さの核心は「ドメイン」そのもの
by エリック・エヴァンス
ドメインの「複雑さ」を扱うソフトウェア
他の層からドメインオブジェクトを使う
• プレゼンテーション層
– Thymeleaf
• ピュアな HTML とドメインオブジェクトのマッピング技術
• アプリケーション層
– @Service
• 「やりたいこと」の宣言のみ
• 具体的な判断・加工・計算はドメインオブジェクトまかせ
• データソース層
– MyBatis
• ピュアな SQL とドメインオブジェクトのマッピング技術
• ドメインオブジェクト
• 独立性の高い部品
• 柔軟な組み合わせ
ソフトウェアの変更容易性
実戦的な練習 考え方の勉強
Spring Boot
Thymeleaf
MyBatis
Java 8
実装技術
しなやかな設計
ドメインモデルの進化を加速
まとめ
「そこ」を目指して歩き続ける
ソフトウエアの核心にある複雑さ
変化に適応しながら成長を続ける
ソフトウェアの変更容易性
一歩一歩、「そこ」を目指して
歩きながら考え、考えながら歩く
楽しみながら
時には道に迷いながら

More Related Content

What's hot

What's hot (20)

ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
 
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイルドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
いまなぜドメイン駆動設計か
いまなぜドメイン駆動設計かいまなぜドメイン駆動設計か
いまなぜドメイン駆動設計か
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
 
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイントドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
 
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かうソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
 
ドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドラインドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドライン
 
ドメイン駆動設計 複雑さに立ち向かう
ドメイン駆動設計 複雑さに立ち向かうドメイン駆動設計 複雑さに立ち向かう
ドメイン駆動設計 複雑さに立ち向かう
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
 
ドメイン駆動設計 分析しながら設計する
ドメイン駆動設計 分析しながら設計するドメイン駆動設計 分析しながら設計する
ドメイン駆動設計 分析しながら設計する
 

Viewers also liked

オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
 
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
Toshiaki Maki
 

Viewers also liked (19)

21世紀のソフトウェア技術者
21世紀のソフトウェア技術者21世紀のソフトウェア技術者
21世紀のソフトウェア技術者
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
ドメイン『駆動』『開発』
ドメイン『駆動』『開発』ドメイン『駆動』『開発』
ドメイン『駆動』『開発』
 
保守とDDDと私
保守とDDDと私保守とDDDと私
保守とDDDと私
 
wabi sabi のススメ
wabi sabi のススメwabi sabi のススメ
wabi sabi のススメ
 
RDRA DDD Agile
RDRA DDD AgileRDRA DDD Agile
RDRA DDD Agile
 
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
 
ドメインモデルの育て方
ドメインモデルの育て方ドメインモデルの育て方
ドメインモデルの育て方
 
リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す
 
『JUnit実践入門』写経・実践会 in 横浜 #3
『JUnit実践入門』写経・実践会 in 横浜 #3『JUnit実践入門』写経・実践会 in 横浜 #3
『JUnit実践入門』写経・実践会 in 横浜 #3
 
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
 
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Developers Summit 2014  「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」Developers Summit 2014  「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
 
ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てるちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる
 
プロトタイプとWebサイト設計のワークフロー
プロトタイプとWebサイト設計のワークフロープロトタイプとWebサイト設計のワークフロー
プロトタイプとWebサイト設計のワークフロー
 
Webサイトの設計を考えてみよう(前半)
Webサイトの設計を考えてみよう(前半)Webサイトの設計を考えてみよう(前半)
Webサイトの設計を考えてみよう(前半)
 
QCon Tokyo 2013
QCon Tokyo 2013QCon Tokyo 2013
QCon Tokyo 2013
 

Similar to ドメイン駆動設計 思えば遠くにきたもんだ

20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
Ryo RKTM
 
Loose and fluffy_ddd_intro
Loose and fluffy_ddd_introLoose and fluffy_ddd_intro
Loose and fluffy_ddd_intro
cch-robo
 
パネルディスカッション資料(公開版)
パネルディスカッション資料(公開版)パネルディスカッション資料(公開版)
パネルディスカッション資料(公開版)
odakeiji
 
20130202 ドメイン駆動設計読書会at名古屋のお誘い
20130202 ドメイン駆動設計読書会at名古屋のお誘い20130202 ドメイン駆動設計読書会at名古屋のお誘い
20130202 ドメイン駆動設計読書会at名古屋のお誘い
Ryo RKTM
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
Masayuki Kanou
 
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
Junko Nukaga
 

Similar to ドメイン駆動設計 思えば遠くにきたもんだ (20)

20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
 
20151110 ドメイン駆動設計によるサービス開発
20151110 ドメイン駆動設計によるサービス開発20151110 ドメイン駆動設計によるサービス開発
20151110 ドメイン駆動設計によるサービス開発
 
2022_sakura-yube_ddd.pdf
2022_sakura-yube_ddd.pdf2022_sakura-yube_ddd.pdf
2022_sakura-yube_ddd.pdf
 
Loose and fluffy_ddd_intro
Loose and fluffy_ddd_introLoose and fluffy_ddd_intro
Loose and fluffy_ddd_intro
 
パネルディスカッション資料(公開版)
パネルディスカッション資料(公開版)パネルディスカッション資料(公開版)
パネルディスカッション資料(公開版)
 
ドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩みドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩み
 
ドメイン駆動開発 勉強会 ①
ドメイン駆動開発 勉強会 ①ドメイン駆動開発 勉強会 ①
ドメイン駆動開発 勉強会 ①
 
X pages day発表_20141118 final
X pages day発表_20141118 finalX pages day発表_20141118 final
X pages day発表_20141118 final
 
MultiParadimeDesign
MultiParadimeDesignMultiParadimeDesign
MultiParadimeDesign
 
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
 
20130202 ドメイン駆動設計読書会at名古屋のお誘い
20130202 ドメイン駆動設計読書会at名古屋のお誘い20130202 ドメイン駆動設計読書会at名古屋のお誘い
20130202 ドメイン駆動設計読書会at名古屋のお誘い
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 
Htmlコーディングの効率化 前編
Htmlコーディングの効率化 前編Htmlコーディングの効率化 前編
Htmlコーディングの効率化 前編
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
DDD入門以前
DDD入門以前DDD入門以前
DDD入門以前
 
自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx
 
大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンス大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンス
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
 
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
 

More from 増田 亨

More from 増田 亨 (20)

ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
 
事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
 
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primerオブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
 
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考えるソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える
 
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチレガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
 
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かうビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう
 
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 の上手な使い方
 
越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる
 
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイルドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
 

ドメイン駆動設計 思えば遠くにきたもんだ