Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20240510_DDDとぼんやり向き合ってみる / Let's face DDD in a ...
Search
宮城築
May 13, 2024
1
32
20240510_DDDとぼんやり向き合ってみる / Let's face DDD in a dim way.
宮城築
May 13, 2024
Tweet
Share
More Decks by 宮城築
See All by 宮城築
プルリクエストがマージできない / Cannot merge pull requests
kizuku_miyagi
3
430
ここが変だよPHP(褒め言葉) 入門編 / The good thing about PHP : An introduction
kizuku_miyagi
3
630
強いチーム作りに向けて 個人ができること / What individuals can do to build a strong team
kizuku_miyagi
2
570
あの時、Java から PHP へ / Converting from Java to PHP
kizuku_miyagi
4
570
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Unsuck your backbone
ammeep
671
58k
Scaling GitHub
holman
461
140k
Producing Creativity
orderedlist
PRO
347
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
What's in a price? How to price your products and services
michaelherold
246
12k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Transcript
〜 Laravel で気づいた勘違い 〜 DDD とぼんやり向き合ってみる ミヤギ
特徴 ・2023 年 6 月 BABY JOB に入社 ・沖縄 からフルリモートで参画
・保活サービス を開発中 ・BUMP OF CHICKEN が好き ・PM と保育園のお弁当に挑戦中 自己紹介 宮城 築 ミヤギ@3歳児の父エンジニア|BABYJOB @KizuMiyagi
私自身の DDD 経験値 エンジニア暦 9 年(2015 年新卒) • MVC 8
年 • DDD 1 年 (=PHP/Laravel暦)
つまり 理解が間違ってる可能性大です! 多めにみてください!(言い訳)
導入
この話は Laravel とどう関係があるの?
引用:https://laravel-meetup-okinawa.connpass.com/event/314824/ Laravel MeetUp Okinawa 第16回@ギークハウス沖縄 のイベントページ
この文言をちゃんと見たことがありませんでした
Laravel で DDD やってるので ちょっと向き合ってみます (つまり Laravel の話はほとんど出てきません)
知識のおさらい
MVC(モデル・ビュー・コントローラー) ChatGPT先生に聞いてみました
MVC(モデル・ビュー・コントローラー)
MVC(モデル・ビュー・コントローラー)
MVC(モデル・ビュー・コントローラー)
MVC(モデル・ビュー・コントローラー) ざっくりいうと ユーザー側 と ロジック側 と コネクタ の 三つに責務を分ける設計思想
DDD(ドメイン駆動設計) こちらもChatGPT先生に聞いてみました
DDD(ドメイン駆動設計)
DDD(ドメイン駆動設計)
DDD(ドメイン駆動設計) ざっくりいうと ビジネスで解決したいこと(≒ドメイン)を そのまま反映する設計思想
ここで沸いた疑問
私自身の DDD 経験値 エンジニア暦 9 年(2015 年新卒) • MVC 8
年 • DDD 1 年 (=PHP/Laravel暦) DDD vs MVC この構図ってあってる・・?
None
None
None
ざっくりいうと 複雑なデータを適切に構造化し データの整合性を優先する設計思想
DDD(ドメイン駆動設計) vs DDD (データ駆動設計) らしい
自分なりに整理し直してみる ビュー(V) モデル(M) コントローラー(C) ドメイン層 インフラ層 アプリケーション層 MVC と DDD
(ドメイン駆動設計) の共存
ということで訂正します🙇
私自身の DDD 経験値(最新版) エンジニア暦 9 年(2015 年新卒) • データ駆動設計 8
年 • ドメイン駆動設計 1 年 (=PHP/Laravel暦) DDD —
・・・本当に?🤔
引用:LaravelにDDDを導入する (https://qiita.com/nishiumidaina/items/61921c9e2fc9b4f5ec6e)
引用:LaravelにDDDを導入する (https://qiita.com/nishiumidaina/items/61921c9e2fc9b4f5ec6e) V C M あってそう
まとめ
• Laravel は MVC のWebアプリケーション開発用フレームワーク ◦ 疑ってごめんなさい、勉強不足でごめんなさい 🙇 • MVC
と DDD は共存できる (というか共存してた) ◦ 勘違いが解消されました 🎉 まとめ
ご清聴ありがとうございました Special Thanks ! ChatGPT