Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
〜 Laravel で気づいた勘違い 〜 DDD とぼんやり向き合ってみる ミヤギ
Slide 2
Slide 2 text
特徴 ・2023 年 6 月 BABY JOB に入社 ・沖縄 からフルリモートで参画 ・保活サービス を開発中 ・BUMP OF CHICKEN が好き ・PM と保育園のお弁当に挑戦中 自己紹介 宮城 築 ミヤギ@3歳児の父エンジニア|BABYJOB @KizuMiyagi
Slide 3
Slide 3 text
私自身の DDD 経験値 エンジニア暦 9 年(2015 年新卒) ● MVC 8 年 ● DDD 1 年 (=PHP/Laravel暦)
Slide 4
Slide 4 text
つまり 理解が間違ってる可能性大です! 多めにみてください!(言い訳)
Slide 5
Slide 5 text
導入
Slide 6
Slide 6 text
この話は Laravel とどう関係があるの?
Slide 7
Slide 7 text
引用:https://laravel-meetup-okinawa.connpass.com/event/314824/ Laravel MeetUp Okinawa 第16回@ギークハウス沖縄 のイベントページ
Slide 8
Slide 8 text
この文言をちゃんと見たことがありませんでした
Slide 9
Slide 9 text
Laravel で DDD やってるので ちょっと向き合ってみます (つまり Laravel の話はほとんど出てきません)
Slide 10
Slide 10 text
知識のおさらい
Slide 11
Slide 11 text
MVC(モデル・ビュー・コントローラー) ChatGPT先生に聞いてみました
Slide 12
Slide 12 text
MVC(モデル・ビュー・コントローラー)
Slide 13
Slide 13 text
MVC(モデル・ビュー・コントローラー)
Slide 14
Slide 14 text
MVC(モデル・ビュー・コントローラー)
Slide 15
Slide 15 text
MVC(モデル・ビュー・コントローラー) ざっくりいうと ユーザー側 と ロジック側 と コネクタ の 三つに責務を分ける設計思想
Slide 16
Slide 16 text
DDD(ドメイン駆動設計) こちらもChatGPT先生に聞いてみました
Slide 17
Slide 17 text
DDD(ドメイン駆動設計)
Slide 18
Slide 18 text
DDD(ドメイン駆動設計)
Slide 19
Slide 19 text
DDD(ドメイン駆動設計) ざっくりいうと ビジネスで解決したいこと(≒ドメイン)を そのまま反映する設計思想
Slide 20
Slide 20 text
ここで沸いた疑問
Slide 21
Slide 21 text
私自身の DDD 経験値 エンジニア暦 9 年(2015 年新卒) ● MVC 8 年 ● DDD 1 年 (=PHP/Laravel暦) DDD vs MVC この構図ってあってる・・?
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
ざっくりいうと 複雑なデータを適切に構造化し データの整合性を優先する設計思想
Slide 26
Slide 26 text
DDD(ドメイン駆動設計) vs DDD (データ駆動設計) らしい
Slide 27
Slide 27 text
自分なりに整理し直してみる ビュー(V) モデル(M) コントローラー(C) ドメイン層 インフラ層 アプリケーション層 MVC と DDD (ドメイン駆動設計) の共存
Slide 28
Slide 28 text
ということで訂正します🙇
Slide 29
Slide 29 text
私自身の DDD 経験値(最新版) エンジニア暦 9 年(2015 年新卒) ● データ駆動設計 8 年 ● ドメイン駆動設計 1 年 (=PHP/Laravel暦) DDD —
Slide 30
Slide 30 text
・・・本当に?🤔
Slide 31
Slide 31 text
引用:LaravelにDDDを導入する (https://qiita.com/nishiumidaina/items/61921c9e2fc9b4f5ec6e)
Slide 32
Slide 32 text
引用:LaravelにDDDを導入する (https://qiita.com/nishiumidaina/items/61921c9e2fc9b4f5ec6e) V C M あってそう
Slide 33
Slide 33 text
まとめ
Slide 34
Slide 34 text
● Laravel は MVC のWebアプリケーション開発用フレームワーク ○ 疑ってごめんなさい、勉強不足でごめんなさい 🙇 ● MVC と DDD は共存できる (というか共存してた) ○ 勘違いが解消されました 🎉 まとめ
Slide 35
Slide 35 text
ご清聴ありがとうございました Special Thanks ! ChatGPT