Slide 1

Slide 1 text

我々は なぜオブジェクト指向やDDD 等のアーキテクチャを学ぶのか 設計 モデリング LT会 【初心者の方・やっていきも大歓迎】20201217 きり丸(水上 皓登)@nainaistar

Slide 2

Slide 2 text

名前:きり丸(水上 皓登) twitter:nainaistar GitHub:hirotoKirimaru ブログ:きり丸の技術日記 https://nainaistar.hatenablog.com/ 2 自分がどういう方向に 成長したいのかが 分からなくなってきた

Slide 3

Slide 3 text

例 企画したイベントを登録し、会場や主催者等を纏めておくサービス。

Slide 4

Slide 4 text

何も考えないパターン 超巨大Mainクラス

Slide 5

Slide 5 text

画面ごとに(機能ごとに)分割すると… イベント 予約 サービス イベント 自体の登録 会場登録 主催者登録

Slide 6

Slide 6 text

画面ごとに(機能ごとに)分割すると… イベント 予約 サービス イベント 自体の登録 会場登録 主催者登録 イベント日まで 営業している? 主催者が退会したら イベントはどうなる?

Slide 7

Slide 7 text

画面ごとに(機能ごとに)分割すると… イベント 予約 サービス イベント 自体の登録 会場登録 主催者登録

Slide 8

Slide 8 text

画面ごとに(機能ごとに)分割すると… イベント 予約 サービス New! イベント 自体の登録 会場登録 主催者登録 要修正? 要修正? 要修正?

Slide 9

Slide 9 text

そこでデータと振る舞いを近づける オブジェクト指向が生まれた イベント 予約 サービス 会場 ドメイン 主催者 ドメイン イベント ドメイン 修正しても 影響なし

Slide 10

Slide 10 text

まとめ (少なくとも)私が オブジェクト指向やDDD等のアーキテクチャを学んでいるのは、 修正工数を少なくしつつ、プログラムを安定させたいから。 機能とデータを密接にしたオブジェクト指向(ドメインの概念)は、 修正するたびに苦しんだ過去のプログラマーから生まれている。

Slide 11

Slide 11 text

Appendix

Slide 12

Slide 12 text

話すこと / 話さないこと ● 初心者の話 ● 詳しいアーキテクチャの話 話すこと 話さないこと

Slide 13

Slide 13 text

対象者 / 非対象者 ● アーキ初心者 ● 具体的なアーキテクチャを聞きたい人 対象者 非対象者