デブサミ2020【14-B-1】「ともにつくる」を実践するドメイン駆動設計 #devsumiB #devsumi
ドメインに何が含まれるかが重要。 ソフトウェアの利用者が生きる世界がドメイン。 #devsumi #devsumiB
2020-02-14 10:09:36とあるユーザークラス ユーザー get set じゃ最小文字数も最大文字数もコードからわからん。 ユーザー get set if 最大文字数判定 例外 if 最小文字数判定 ならコードからわかるし修正の手間も減る。 #devsumi #devsumiB
2020-02-14 10:10:18トラック ・荷物を運べる ・アクセルを踏むと進む どちらが重要? 物流の世界なら、前者。 ゲームの世界なら、後者。 #devsumi #devsumiB
2020-02-14 10:12:58物流にとって、トラックの「アクセルペダルを踏むと進む」よりも「荷物を運べる」という性質のほうが重要。 でも、アクションゲームなら逆(かもしれない)。 #devsumi #devsumiB
2020-02-14 10:13:09例えば トラックはアクセルを踏むと進むと荷物を運べるがあるが、 物流だと荷物を運べるが重要。 ゲームだとアクセル踏むが重要かも? 何が重要かはソフトウェアによって変わる #devsumi #devsumiB
2020-02-14 10:13:46何が重要かはドメインによって変わる。 例)トラック 物流の世界:「荷物を運べる」が大事 ゲームの世界:「アクセルを踏むと進む」が大事 #devsumiB
2020-02-14 10:13:51重要な知識を抽象化して抽出→ドメインモデリング。 それをコード化・パターン化→ドメインオブジェクト。 #devsumi #devsumiB
2020-02-14 10:15:12トラック ↓ ドメインモデリング ↓ ドメインモデル #devsumi #devsumiB twitter.com/materia_x64/st…
2020-02-14 10:15:29モデリングしたものをドメインオブジェクト(コード)にするのがパターン。これをまとめたのがドメイン駆動設計 #devsumi #devsumiB
2020-02-14 10:15:44必要な情報をドメインエキスパートから聞く。ドメインエキスパートは現場の人、現場の人がもっともドメインに詳しい。 #devsumiB #devsumi
2020-02-14 10:17:23ドメインエキスパートの例? twitter.com/tzkb/status/12… #devsumi #devsumiB
2020-02-14 10:18:51ITベンチャーにベテラン大工が入社?この記事の人だ。 #激レアさんを連れてきた businessinsider.jp/post-197698
2020-02-01 22:43:07