33
ドドドドドドドド的的 的的的的的的的的的 的的的的ドド的的的的

ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

Embed Size (px)

Citation preview

Page 1: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

ドメイン駆動設計的な何かを試行してみて気づいた勘所について

Page 2: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

自己紹介- VOYAGE GROUP - ECナビ- 大橋勇希 : はむ- @secret_hamuhamu

Page 3: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

DDD

Page 4: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

Domain ドメイン

Driven 駆動

Design 設計

Page 5: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

エリック・エヴァンスのドメイン駆動設計

Page 6: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

Why? DDD?

Page 7: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

運用改善

私のお仕事

Page 8: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

・負債となった既存の システムを改善・複雑な業務をシステム化

中村朋臣
技術的負債は市民権得た言葉だけど、外野が聞いた時にネガティブなイメージを持ちかねないらしいので、「とは言え今まで稼いでくれた大事な資産」的なニュアンスを醸すと良いらしいです。
大橋勇希
発表した時は、お金を稼ぐためとかビジネス的な制約があってという話し方をしました。> 今まで稼いでくれた大事な資産このフレーズいいですね!つかわせてもらいます。ありがとうございます!
山本真嗣
DDDを試してみた、って話を伝えたい、このプレゼンにおいて、負債かどうかを伝える事は必要ではないと思います。(主に伝えたい事は複雑さをどう解決するのかにフォーカスしてますので。)(あるのであれば、DDDが適用されうる こういう事象があった、とかのがいいかな、と。
大橋勇希
そこまで話したかったですが、タイムキーパーが厳しいLTだったので当日に資料ガンガン削りましたw説明するのに時間かかるのでLT向けではなかったですね。そういえばLTレベルで、DDD話してる人見たことがない。
Page 9: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

どうすれば解決できる?

Page 10: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

どうやって複雑さに立ち向かうのか?

Page 11: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

言葉の定義

リファクタリング不足

優れたモデリングとは

Page 12: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

リファクタリング言葉

モデリング

DDD

Page 13: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

実際に試行してみて気づいた

勘所

2 つのポイント

Page 14: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

1 つめ

Page 15: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

複雑な物事に対する関心ごとを

要約すること

1 つめ

Page 16: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

「活動」「知識」関心ごと

モデル

要約

1 つめ

Page 17: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

モデル

頭の中で共有される財産

1 つめ

Page 18: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

モデルをいかに磨いていくか?

1 つめ

Page 19: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

どのようにモデルを表現する?ドキュメント?コード?

1 つめ

Page 20: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

コミュニケーション

1 つめ

Page 21: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

2 つめ

Page 22: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

複雑な業務ルールに名前をつける

2 つめ

Page 23: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

共通言語を定義することでコミュニケーションが容易になる

2 つめ

Page 24: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

日常でかわされるコミュニケーション自体が、設計であり実装である

2 つめ

Page 25: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

日常でかわされる言葉をコードで体現する

2 つめ

Page 26: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

コミュニケーションでモデルを育てリファクタリングしていく

ドキュメントは、いつでも捨てれる状態

2 つめ

Page 27: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

さいごに

Page 28: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

モデルの価値って?

Page 29: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

コスト削減●コミュニケーションコスト

●分析コスト ( 理解する )

Page 30: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

システム化とは、

データのコミュニケーションを考えるということ

Page 31: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

データのコミュニケーションどのようなデータ形式で?

どのようなタイミングで?

どのような特性がある?

Page 32: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

日常のコミュニケーションを

シンプルにして

データのコミュニケーションも

シンプルに

Page 33: ドメイン駆動設計的な 何かを実際に試行してみて 気づいた勘所について

ご清聴ありがとうございました