SlideShare a Scribd company logo
1 of 29
Download to read offline
プロダクトづくりのための
ソフトウェア設計スタイル
ギルドワークス 増田 亨
DevLove #280 プロダクトをつくるとはどういうことなのか? -正しいものを正しくつくる-
2019/7/1 2
祝 出版2周年
いまでも、毎日だれかは買ってくれている
今日の話は、この本の背景にある考え方と思い
プロダクトづくり
2019/7/1 3
プロダクトづくり
不確実性との戦い
終わりのない進化と成長
あらかじめ、要件/期限/予算を固定するソフトウェア開発とは別の世界
2019/7/1 4
ソフトウェア設計という課題
2019/7/1 5
複雑さとの戦い
構成要素の数
構成要素間の関係
拡張と変更の繰り返し
2019/7/1 6
建築や土木とは異質の挑戦
ソフトウェア設計の品質
2019/7/1 7
構造と秩序
2019/7/1 8
進化を続ける構造と秩序
プロダクトづくりに必要な設計品質
2019/7/1 9
ソフトウェア設計のスキル
構造と秩序を生み出し続ける能力
2019/7/1 10
不確実性と戦うための
ソフトウェア設計スタイル
2019/7/1 11
柔らかなモジュール構造
創発的な設計活動
20%に投資する
2019/7/1 12
創発的な設計活動
2019/7/1 13
創発的な設計活動
観察 仮説 実験 考察
目の前の設計課題
過去の設計例
他者の設計例
仮決め
コードで検証
収まり具合
まわりとの関係性
全体の調和
2019/7/1 14
設計案の列挙
観察と考察の質と量が大きな違いを生む
やわらかなモジュール構造
2019/7/1 15
設計の基本
関心を分離する
モジュールに分割する
2019/7/1 16
モジュール分割の方法論
2019/7/1 17
モジュール分割:方法論の違い
機能で分解 型で分解
入力と出力 計算と判定
画面・通信・データベースの操作 導出ロジック/判定ロジックの記述
2019/7/1 18
A. Hoare
O. Dahl
B. Liskov
B. Meyer
M. Fowler
K. Beck
E. Evans
…
ボトムアップ
インクリメンタル(創発的)
トップダウン
アップフロント
ビジネスルール記録と通知
トランザクションスクリプト ドメインオブジェクトモデル
硬直化、レガシー化 進化と成長、創発性
型
✓ 値の種類の定義(何を計算したいかのアイデアの表現)
➢ 金額、数量、日付、日数、判定区分、対象種別、…
✓ 値の範囲の定義
➢ 上限、下限
➢ 有限要素を列挙して定義(曜日、会員種別、年齢区分、….)
✓ 値を使った有効な操作の定義
➢ 同一性判定、大小判定
➢ 加減乗除
✓ 値の範囲と有効な操作を一つの入れ物にカプセル化 → クラスの定義
2019/7/1 19
プリミティブな型
int, long
boolean
BigDecimal
LocalDate, LocalTime
配列、List,Set,Map,
設計スタイル
2019/7/1 20
型で分解
機能で分解
✓ アジャイルなソフトウェア開発の基本スタイル
➢ 型の定義の柔軟性/創発性
➢ 型の組み合わせ方の柔軟性/創発性
✓ ウォータフォールのソフトウェア開発の基本スタイル
➢ 機能分割によるモジュール構造の固定化
➢ 計算ロジックの断片化と重複 → 力づくの変更 → 限界
関心事と設計の直接的な写像
2019/7/1 21
怪しげな写像
金額
注文番号
消費税
換算レート
納期
誕生日
割引可能
出荷可能
long型
BigDecimal型
LocalDate型
boolean型
一方通行
N対1
値の範囲
可能な操作
ビジネス活動の関心事 設計実装の関心事
2019/7/1 22
直接的な写像
金額
注文番号
消費税
換算レート
納期
誕生日
割引可能
出荷可能
双方向の対応
1対1
適切な値の範囲
適切な操作
ビジネス活動の関心事 設計実装の関心事
金額型
注文番号型
消費税型
換算レート型
納期型
誕生日型
割引判定型
出荷判定型
2019/7/1 23ビジネスの関心事とソフトウェアの構造が直接つながる
画面やテーブルの見え方の変化
2019/7/1 24
データのかたまり
型と計算に焦点を合わせた時の見え方
2019/7/1 25
分解可能性 ✓ 計算の文脈ごとに画面やテーブルが論理ブロックに分かれて見える
価格計算、割引計算、納期設定、リスク判定、…
暗黙の関係性
データのつながり
✓ 計算の文脈から、画面/テーブル間の隠れた関係性に気づく
計算や判断に必要なさまざまなデータの所在/発生タイミング
画面遷移図やER図にはでてこない関連性
重要度の濃淡
✓ 計算結果・判定結果(知りたいこと)に着眼する
✓ 各データ項目が、どこでどんな計算判断に使われるか気になる
計算や判断に使わないデータは注目度をさげる
重要なデータ、重要な関係だけが浮き上がってみえるようになる
20%に投資する
2019/7/1 26
20% → 80%
2019/7/1 27
重要な20%
全体の80%に影響する
設計の焦点
ここで消耗しない
ここで時間を浪費しない
不確実性といっても、中核の要素がぶれまくるわけではない
周辺的な関心事は、ぶれてもよいように設計活動を節約しておく
不確実性と戦うための
ソフトウェア設計スタイル
2019/7/1 28
柔らかなモジュール構造
創発的な設計活動
20%に投資する
2019/7/1 29
観察
仮説
実験
考察
型
計算が主役
直接的な写像
中核要素の見極め
周辺で浪費しない
末端で消耗しない

More Related Content

What's hot

世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計増田 亨
 
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)Yoshitaka Kawashima
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで増田 亨
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して増田 亨
 
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方増田 亨
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう増田 亨
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門増田 亨
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかKoichiro Matsuoka
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方増田 亨
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2増田 亨
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計Tadayoshi Sato
 
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考えるソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える増田 亨
 
毎日が越境だ!
毎日が越境だ!毎日が越境だ!
毎日が越境だ!増田 亨
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来増田 亨
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java増田 亨
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計増田 亨
 
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイルドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル増田 亨
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかYusuke Suzuki
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する増田 亨
 

What's hot (20)

世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
 
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
 
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
 
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考えるソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える
 
毎日が越境だ!
毎日が越境だ!毎日が越境だ!
毎日が越境だ!
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
 
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイルドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
 

Similar to プロダクトづくりのためのソフトウェア設計スタイル

20200523 冴えないソフトの育てかた
20200523 冴えないソフトの育てかた20200523 冴えないソフトの育てかた
20200523 冴えないソフトの育てかたhiyohiyo
 
20210828_win32_windows11
20210828_win32_windows1120210828_win32_windows11
20210828_win32_windows11hiyohiyo
 
ビジネスとデザイン ~ビジネスは悪くない~
ビジネスとデザイン ~ビジネスは悪くない~ビジネスとデザイン ~ビジネスは悪くない~
ビジネスとデザイン ~ビジネスは悪くない~Ken Azuma
 
Do you wanna be a V-ROCK star?
Do you wanna be a V-ROCK star?Do you wanna be a V-ROCK star?
Do you wanna be a V-ROCK star?Yugo Shimizu
 
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチレガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ増田 亨
 
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」Cybozucommunity
 
20190706 PO 2019 Summer
20190706 PO 2019 Summer20190706 PO 2019 Summer
20190706 PO 2019 Summerhiyohiyo
 
20200429 algyan lt
20200429 algyan lt20200429 algyan lt
20200429 algyan lthiyohiyo
 
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021Yoshitaka Seo
 
DEMODAY 2019 Spring スポンサーシップ募集要項
DEMODAY 2019 Spring スポンサーシップ募集要項DEMODAY 2019 Spring スポンサーシップ募集要項
DEMODAY 2019 Spring スポンサーシップ募集要項DIVE INTO CODE Corp.
 
Web App for Containers のデプロイでつまずいた話
Web App for Containers のデプロイでつまずいた話Web App for Containers のデプロイでつまずいた話
Web App for Containers のデプロイでつまずいた話Shigenari Ohnuma
 
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primerオブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer増田 亨
 
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...日本マイクロソフト株式会社
 
サービス開発における工程
サービス開発における工程サービス開発における工程
サービス開発における工程Hidetoshi Mori
 
デジタル時代の企業変革 2019
デジタル時代の企業変革 2019デジタル時代の企業変革 2019
デジタル時代の企業変革 2019Ikuo Misao
 

Similar to プロダクトづくりのためのソフトウェア設計スタイル (20)

Developers Summit 2013【15-B-6】開発者の "資産形成" につながる Action とは?
Developers Summit 2013【15-B-6】開発者の "資産形成" につながる Action とは?Developers Summit 2013【15-B-6】開発者の "資産形成" につながる Action とは?
Developers Summit 2013【15-B-6】開発者の "資産形成" につながる Action とは?
 
20200523 冴えないソフトの育てかた
20200523 冴えないソフトの育てかた20200523 冴えないソフトの育てかた
20200523 冴えないソフトの育てかた
 
20210828_win32_windows11
20210828_win32_windows1120210828_win32_windows11
20210828_win32_windows11
 
Gnus intro web_2021
Gnus intro web_2021Gnus intro web_2021
Gnus intro web_2021
 
ビジネスとデザイン ~ビジネスは悪くない~
ビジネスとデザイン ~ビジネスは悪くない~ビジネスとデザイン ~ビジネスは悪くない~
ビジネスとデザイン ~ビジネスは悪くない~
 
Do you wanna be a V-ROCK star?
Do you wanna be a V-ROCK star?Do you wanna be a V-ROCK star?
Do you wanna be a V-ROCK star?
 
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチレガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
 
最近のQ#について
最近のQ#について最近のQ#について
最近のQ#について
 
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」
 
20190706 PO 2019 Summer
20190706 PO 2019 Summer20190706 PO 2019 Summer
20190706 PO 2019 Summer
 
20200429 algyan lt
20200429 algyan lt20200429 algyan lt
20200429 algyan lt
 
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
 
DEMODAY 2019 Spring スポンサーシップ募集要項
DEMODAY 2019 Spring スポンサーシップ募集要項DEMODAY 2019 Spring スポンサーシップ募集要項
DEMODAY 2019 Spring スポンサーシップ募集要項
 
Web App for Containers のデプロイでつまずいた話
Web App for Containers のデプロイでつまずいた話Web App for Containers のデプロイでつまずいた話
Web App for Containers のデプロイでつまずいた話
 
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primerオブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
 
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...
 
サービス開発における工程
サービス開発における工程サービス開発における工程
サービス開発における工程
 
デジタル時代の企業変革 2019
デジタル時代の企業変革 2019デジタル時代の企業変革 2019
デジタル時代の企業変革 2019
 
Lt40
Lt40Lt40
Lt40
 
20190117 teamup
20190117 teamup20190117 teamup
20190117 teamup
 

More from 増田 亨

ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善増田 亨
 
事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述増田 亨
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう増田 亨
 
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かうビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう増田 亨
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす増田 亨
 
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 増田 亨 (12)

ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
 
事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
 
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かうビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
 
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 の上手な使い方
 
越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる
 
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイルドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
 

プロダクトづくりのためのソフトウェア設計スタイル