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

Preview:

Citation preview

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

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

DDD

Domain ドメイン

Driven 駆動

Design 設計

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

Why? DDD?

運用改善

私のお仕事

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

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

どうすれば解決できる?

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

言葉の定義

リファクタリング不足

優れたモデリングとは

リファクタリング言葉

モデリング

DDD

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

勘所

2 つのポイント

1 つめ

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

要約すること

1 つめ

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

モデル

要約

1 つめ

モデル

頭の中で共有される財産

1 つめ

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

1 つめ

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

1 つめ

コミュニケーション

1 つめ

2 つめ

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

2 つめ

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

2 つめ

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

2 つめ

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

2 つめ

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

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

2 つめ

さいごに

モデルの価値って?

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

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

システム化とは、

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

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

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

どのような特性がある?

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

シンプルにして

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

シンプルに

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

Recommended