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
RailsでDDDは使えるのか?
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ikechi
February 04, 2026
Programming
89
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RailsでDDDは使えるのか?
~ 2026年02月05日 Omotesando.rb~ 登壇資料
ikechi
February 04, 2026
More Decks by ikechi
See All by ikechi
非エンジニア職からZOZOへ 〜登壇がキャリアに与えた影響〜
penpeen
0
820
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
4.6k
VibeCodingで決済機能を改修〜失敗から学んだこと〜
penpeen
0
130
議事録の要点整理を自動化! サーバレス Bot 構築術
penpeen
3
2.6k
NotebookLMを使ってインプット効率を爆上げしよう
penpeen
1
150
Other Decks in Programming
See All in Programming
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
340
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
130
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
260
Vite+ Unified Toolchain for the Web
naokihaba
0
680
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
270
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
1.8k
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
180
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
360
Creating Composable Callables in Contemporary C++
rollbear
0
190
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
170
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
140
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
550
Making the Leap to Tech Lead
cromwellryan
135
10k
Designing Experiences People Love
moore
143
24k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
The Limits of Empathy - UXLibs8
cassininazir
1
390
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
1 RailsでDDDは使えるのか? ~ 2026年02月05日 Omotesando.rb~
池上 寛登(ikechi) ⾃⼰紹介 SUZURI‧minne事業部 Web Engineer X: penpeenpen
• 国内最大級のハンドメイドマーケット • Railsで開発、リリースから 14年 • 技術的負債と向き合いながら日々開発中 3 minne について
Rails × DDDはあり? 4
ソフトウェア開発の複雑さについて 5
コアドメインは複雑である。 • 競争優位性の源泉となる独自領域 • ビジネスロジックが最も複雑になる部分 (複雑でなければ差別化要因にならない) • minneのコアドメイン: ◦ 作品と購入者のマッチング
◦ ショップ運営 /ブランディング 6 本質的な複雑さ(Essential Complexity) 引用元:https://medium.com/nick-tune-tech-strategy-blog/core-domain-patterns-941f89446af5
偶発的な複雑さ(Accidental Complexity) 7 Railsで複雑性が増す要因 • ActiveRecordでドメイン層とインフラ層が密結合 • 規模が大きくなるにつれて、モデルクラスに責務が集中しや すい(Fat Model)
引用元:https://www.taazaa.com/mvc-architecture-benefits-and-challenges/
課題: 偶発的な複雑さをどう減らすか 8
9 What is DDD • ドメイン駆動設計(Domain-Driven Design)の略称 • ドメインを中心に据えたソフトウェア設計手法 •
ビジネスロジックを純粋に保つ DDDという選択肢 引用元:https://sixphere.com/en/blog/clean-architectures-and-ddd-a-practical-journey-part-1/
私の考え: 部分的な採⽤はアリ。 10
クラウドワークス社 • 30万行超のRailsアプリケーション • Rails × DDDでリファクタリングを実施中 • 「新規開発では避けるが、レガシー改善には有効」 11
導⼊事例 出典: 変化に適応するソフトウェアアーキテクチャと組織構造への道程 ドメイン駆動設計の比類なきパワーでRailsレガシーコードなど大爆殺したるわあああ!!!
12 • コアドメインのみにDDDを適用 • Generic、SupportingドメインはRails Way採用 コアドメインに集中する
• Step1: PORO、Form Objectなど小さく始める • Step2: 必要に応じてService、Repositoryを導入 13 段階的な導⼊
14 Fat Modelの解消例
まとめ 15
• Rails × DDDは部分的にはアリ • Rails × DDD 導入のポイント ◦
Core Domainに集中 ◦ 段階的に導入 ◦ Rails Wayを壊さない 16 まとめ
ご静聴ありがとうございました!