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
25
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
380
ここが変だよPHP(褒め言葉) 入門編 / The good thing about PHP : An introduction
kizuku_miyagi
3
570
強いチーム作りに向けて 個人ができること / What individuals can do to build a strong team
kizuku_miyagi
2
520
あの時、Java から PHP へ / Converting from Java to PHP
kizuku_miyagi
4
540
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
22
2.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
320
How to train your dragon (web standard)
notwaldorf
91
5.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
8
700
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
7
620
Scaling GitHub
holman
459
140k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
RailsConf 2023
tenderlove
29
1k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
Writing Fast Ruby
sferik
628
61k
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