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
22
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
360
ここが変だよPHP(褒め言葉) 入門編 / The good thing about PHP : An introduction
kizuku_miyagi
3
550
強いチーム作りに向けて 個人ができること / What individuals can do to build a strong team
kizuku_miyagi
2
510
あの時、Java から PHP へ / Converting from Java to PHP
kizuku_miyagi
4
530
Featured
See All Featured
Done Done
chrislema
182
16k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Designing for humans not robots
tammielis
250
25k
Why Our Code Smells
bkeepers
PRO
336
57k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
A Philosophy of Restraint
colly
203
16k
Statistics for Hackers
jakevdp
797
220k
Faster Mobile Websites
deanohume
306
31k
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