Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
花束問題をDDDで考える
Search
hidenorigoto
April 25, 2015
Programming
6.8k
9
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
花束問題をDDDで考える
2015.4.25 第40回 IT勉強宴会 スライド
https://atnd.org/events/64593
hidenorigoto
April 25, 2015
More Decks by hidenorigoto
See All by hidenorigoto
ドメインと向き合う - 旅行予約編
hidenorigoto
4
1.2k
「ソフトウェア設計」のドメイン - 「データモデリングでドメインを駆動する」を読んで
hidenorigoto
10
3.5k
メルカリ バックエンド領域のこれまでとこれから
hidenorigoto
1
650
メルカリのエンジニアリング組織の変化〜Engineering Managerの視点から〜
hidenorigoto
0
8.9k
The changes of the engineering organization in Mercari - from the view of an engineering manager -
hidenorigoto
0
350
PHPerKaigi 2019 ランチセッション (3/31)
hidenorigoto
1
4.6k
抽象化って何? (What is abstraction?)
hidenorigoto
9
4.9k
抽象化って何? (What is abstraction?)
hidenorigoto
11
7.8k
続・SOLIDの原則ってどんなふうに使うの? 〜オープン・クローズドの原則 センパイのコーディングノート編〜
hidenorigoto
14
6.5k
Other Decks in Programming
See All in Programming
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
3
720
R8 の設定見直しでアプリサイズ削減
andpad
0
230
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
240
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
970
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
200
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
11
8.3k
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.4k
Railsバージョンを4倍にした話
optim
0
730
Event is what happens
moro
2
1.6k
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
3
540
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
320
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
1.9k
Featured
See All Featured
Navigating Team Friction
lara
192
16k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
560
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
720
Automating Front-end Workflow
addyosmani
1370
210k
Six Lessons from altMBA
skipperchong
29
4.5k
Mind Mapping
helmedeiros
1
410
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
740
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Transcript
ՖଋΛ %%%ʢυϝΠϯۦಈઃܭʣ Ͱߟ͑Δ 1)1ϝϯλʔζɹޙ౻लએ ୈճ*5ษڧԅձ υϝΠϯɺҙਤɺϢʔεέʔε
ࣗݾհ w ޙ౻लએʢ͝ͱ͏ͻͰͷΓʣ UXJUUFS!IJEFOPSJHPUP w ٱอ͞Μͱͱʹ1)1ϝϯλʔζͱͯ͠׆ಈ w ϓϩάϥϚʔ͚τϨʔχϯάʢ%%%ؚΉʣ w *5ษڧԅձୈճʢʣ
ʮυϝΠϯۦಈઃܭΛΖ͏ʯߨࢣ୲
ϞσϦϯάݪଇ w ຊ࣭ʢFTTFOUJBMTʣΛϞσϧԽͤΑ w େہ؍ʢQFSTQFDUJWFʣΛఏڙͤΑ w ޮՌతͳୡʢF⒎FDUJWFDPNNVOJDBUJPOTʣΛਤΕ ιϑτΣΞΤϯδχΞϦϯάجૅࣝମܥ48�,7Q
ಈ͘ϞσϧͰ͋Ε
γεςϜͱʁ
QIPUPCZ/BLBUBOJ:0TIJGVNJ$$#: QIPUPCZ%JDL5IPNBT+PIOTPO$$#:
None
ճస൘ͱ͍͏໊ͷγεςϜ w ίοΫʹͱͬͯख࣋ͪΦʔμͷهԱஔ w ಥવͷଟͷདྷ٬ʹର͢Δ؇িஔ w ػஔ w ະॲཧจҰཡද w
্هͷػೳΛඋ͑ͨʮγεςϜʯ ࢀߟɿ٢ݪݡ࣏ஶʰઓུใγεςϜͷண؟441ͷݯྲྀʱQʙ
શମΛγεςϜͱͯ͠ݟΔͱ
ճస൘ͷಋೖʹઃܭ
ʮઃܭʯͷʮҙਤʯ ԿͷͨΊʁ
ล͞ΜͷϞσϧͰ ลࡾ͞ΜʮϞσϦϯάͷඪ४͔ΒֶΔ͜ͱʯ IUUQXBUBOBCFLDPDPMPHOJGUZDPNCMPHQPTUEIUNM
ۀϑϩʔ डʙग़ՙͷྲྀΕ ൃʙೖՙͷྲྀΕ ࡏݿཧͷྲྀΕ
σʔλϞσϧ ౷ܭσʔλཧ ߪೖσʔλཧ σʔλཧ ൢചσʔλཧ
Ϟσϧ͔Βݟ͑ͨͷ ड༧ఆ ୯ ग़ՙϩοτ໌ࡉ ൃ໌ࡉ ୯ϩοτ ཧ ൢചཧ ࡏݿཧ ߪೖཧ
Ͳ͏ͬͯʁ
υϝΠϯۦಈઃܭ %PNBJO%SJWFO%FTJHO
υϝΠϯͱ w ྖҬ w ʮݱʯʮݱͷ෦ॺʯͰͳ͍ ੵۃతʹݟग़͍ͯ͘͠
υϝΠϯͷγεςϜ w ʮυϝΠϯͷγεςϜʯͱ͍͏υϝΠϯ ͷυϝΠϯ Λղܾ͢Δ γεςϜͷυϝΠϯ γεςϜͷ࡞Γํ ͷυϝΠϯ ղܾʹ͏
ղܾʹ͏ ಓ۩ͷઢͰ Λཧղ ಓ۩ͷઢͰ Λཧղ
औΓ্͛Δύλʔϯ w ڥք͚ͮΒΕͨίϯςΩετ #06/%&%$0/5&95 w ͷϨΠϠ 3&410/4*#*-*5:-":&34 ͦͷଞ͍͔ͭ͘
ࢥߟͷϑϨʔϜϫʔΫ
ՖଋΛߟ͑Δ
࠷ॳʹॻ͍ͨਤ
͜͜·Ͱͷաఔ w υϝΠϯείʔϐϯάʢυϝΠϯͷೝࣝʣ w ԿΒ͔ͷʮઢʯΛҾ͘ w ʮྖҬʯʹ͚Δ w υϝΠϯϞσϦϯάʢυϝΠϯͷཧղʣ w
ௐΔ
υϝΠϯੳ w ՖͷۀͰʹͳ͍ͬͯΔ͜ͱͳͲ w ʲҴ֞ੜՖళʳੜՖͷϩεݮͰձࣾސ٬ ʮΦʔϧεϚΠϧʯ ϩεɺࡏݿ͕ IUUQXXXULDKQDMJFOUDPNQBOZNJMMJPOTDBMFCVTJOFTTIUNM
ଞͷใ w ੨ࢁϑϥϫʔϚʔέοτɺͳͥࢢՁͷֹͰՖΛ ചͬͯṶ͔Δͷ͔ʙޙฤʙ w ҰൠతͳՖͷϩεɺ࠾༻ͨ͠ˋఔ͕ී ௨Ͱɺͦͷɺ୯Ձ͕ߴ͘ͳ͍ͬͯ·͢ IUUQEJBNPOEKQBSUJDMFT
ଞͷใ w IUUQXXXLPTVLFPHBXBDPN FJE w ཧΛపఈ͢Δ͜ͱͰϩεݮΒͤ·͢ɻ͋Δ͓ Ֆ͞ΜͰɺʰ͓٬͞Μ͕͓ՖΛങͬͯҎʹ ރΕͯ͠·ͬͨΒɺ৽ͳ͓Ֆͱަ͢Δʱͱ͍͏ ࣋ͪอূΛ࢝Ί·ͨ͠ɻަ͕ଟ͍ͱଛ͢ΔͷͰɺૣ ͘ೖΕͨͷ͔ΒॏతʹചΔ͜ͱΛపఈͨ͠ͱ͜
Ζɺϩε͕ܹݮɻೖΕΛݮΒͯ͠ϩεΛͳ͘͢Α ΓɺཧΛͬͨ΄͏͕Δ͔Ṷ͔ͬͨͷͰ͢
ελʔτ w ֓೦ΛऔΓग़͢ w ʮ໊ࢺʯʹͩ͜ΘΒͳ͍ɻ w Ή͠Ζɺʮಈࢺʢৼɾॲཧɾಈ࡞ʣʯʹΑΓଟ͘ ͷҙΛ͏
͔ΒࡶଟʹϐοΫΞοϓ ϩοτ ࡏݿਪҠ ड૿Ճ ৽ͳՖ ه೦ Ֆଋ ഇغ ࡏݿ རӹ৳ͼΈ
୯ ೖઌ ࣭ҡ࣋Մೳ ݁ଋ ग़ՙ ୯ൢചແ ͠ Ϧϐʔλ ಘҙઌ ಧ͚ઌ ग़ՙ ग़ՙ͓ಧ ͚ͷલ ग़ՙͷมߋ ൃϦʔυλ ΠϜ ೖՙ ߪೖ୯Ґ
େߏΛݟΔ w ύʔεϖΫςΟϒ w ந w ԿาҾ͍ͯݟΔ
ॎʹΔ ϩοτ ࡏݿਪҠ ड૿Ճ ৽ͳՖ ه೦ Ֆଋ ഇغ ࡏݿ རӹ৳ͼΈ
୯ ೖઌ ࣭ҡ࣋Մೳ ݁ଋ ग़ՙ ୯ൢചແ ͠ Ϧϐʔλ ಘҙઌ ಧ͚ઌ ग़ՙ ग़ՙ͓ಧ ͚ͷલ ग़ՙͷมߋ ൃϦʔυλ ΠϜ ೖՙ ߪೖ୯Ґ ཧ ߪೖཧ ࡏݿཧ ൢചཧ
ڥք͚ͮΒΕͨίϯςΩετ ཧ ߪೖཧ ࡏݿཧ ൢചཧ ୯ ϩοτ ೖઌ ൃϦʔυλ
ΠϜ ೖՙ ߪೖ୯Ґ ࡏݿਪҠ ഇغ ࣭ҡ࣋Մೳ ग़ՙ ಘҙઌ
ڥք͚ͮΒΕͨίϯςΩετ ཧ ߪೖཧ ࡏݿཧ ൢചཧ ୯ ϩοτ ೖઌ ൃϦʔυλ
ΠϜ ೖՙ ߪೖ୯Ґ ࡏݿਪҠ ഇغ ࣭ҡ࣋Մೳ ग़ՙ ಘҙઌ ൃ ސ٬ཧ ड
ॳظͷίϯςΩετׂ w ίϯςΩετʢαϒυϝΠϯʣΛݟग़͢ࢼΈ w தʹଐ͍ͯ͠Δͷʢ֓೦ʣͷऩ·Γ۩߹ΛΈΔ w ίϯςΩετ͕ҧ͑ɺݴ༿͕มΘΓɺใͷ୯Ґ มΘΔʢม͑ΒΕΔʣ ɹɹˠίϯςΩετϚοϓʢมʣ
ڥքͷʮ͋ͪΒʯͱʮͪ͜Βʯ ࡏݿཧ ൢചཧ ࡏݿਪҠ ड डॲཧͰ ࡏݿΛνΣοΫ͢Δ
ڥքͷʮ͋ͪΒʯͱʮͪ͜Βʯ ࡏݿཧ ൢചཧ ࡏݿਪҠ ࡏݿ༧ఆ ͍߹Θͤ ड ࡏݿ֓೦ ͪ͜Βʹ ग़ͯ͜ͳ͍
डՄೳ ֬ೝ ൢച֓೦ ͪ͜Βʹ ग़ͯ͜ͳ͍ ίϯςΩετϚοϓ ίϯςΩετؒͰΤϯςΟςΟΛม
݅Λ໌ࣔԽ ൢചཧ ड डՄೳ֬ೝ ࡏݿ ཧ ࡏݿ͕͋Δ͜ͱ ΦʔόʔϒοΩϯά ϙϦγʔʁ ސ٬
Ωϟϯϖʔϯ ҉తͳ֓೦Λ ໌ࣔతʹ͢Δ ʢ༷ύλʔϯʣ
ͷϨΠϠ w Ϗδωεͷͷ֊ʹରԠͤͨ͞ߏ ҙࢥܾఆࢧԉ ϙϦγʔ ۀ જࡏೳྗ ֬
ࡏݿϩεͷ ࡏݿਪҠ ࣭ҡ࣋Մೳ ഇغ ϩοτ ೖՙ ҙࢥܾఆࢧԉ ϙϦγʔ ۀ જࡏೳྗ
֬ ϩεΛݮΒ͍ͨ͠ Ͳ͏͢Εʁ
ࡏݿϩεͷ ҙࢥܾఆࢧԉ ϙϦγʔ ۀ જࡏೳྗ ֬ ࡏݿਪҠ ࣭ҡ࣋Մೳ ഇغ ϩοτ
ೖՙ ࡏݿϩε ϩε ΰʔϧͷ֬ೝ ൃ ൃ ৽ͳՖ ཧ ड૿ ൢചػձଛࣦ ύϥϝʔλͷ ൃݟ
શ෦ඞཁͳΘ͚Ͱͳ͍ w ͷߏΛѲ͢ΔͨΊ
ΠςϨʔγϣϯ̍
ΫϥεΛߟ͑Δ w ͜Ε·Ͱݟग़ͨ͠ͷΛΫϥεʹམͱ͢ w ੩తɹˡˠɹಈత w ࠓճಈతͳํ͔Β
ར༻ͨ͠ύλʔϯ w ΤϯςΟςΟ w Ϣʔεέʔε w αʔϏε w ༷ w
υϝΠϯΠϕϯτ υϝΠϯϞσϦϯάʹ͏ ϏϧσΟϯάϒϩοΫ ͲΕͦͷ·· ΫϥεʹରԠ
͜Εಈ͘ͷ͔ʁ w ͜ͷϞσϧɺಈ͔͘Ͳ͏͔ݕূ͞Ε͍ͯͳ͍ɻ w ࣮ͨ͠ΓɺϞσϧͷݴ༿Ͱͨ͠Γͯ͠ɺϞσϧ ͕Γཱ͍ͬͯΔͷ͔ϑΟʔυόοΫΛಘͭͭɺϞ σϧΛमਖ਼ɾ͍ͤͯ͘͞ɻ
ΠςϨʔγϣϯ̎
࣮ʁ ࣮ɹʹɹϞσϧ
ίʔυΛॻ͘ ϞσϦϯά׆ಈͱͯ͠ͷ࣮ *NQMFNFOUJOHBTBQBSUPG.PEFMJOH
(JU)VC IUUQTHJUIVCDPNQIQNFOUPSTKQqPXFSTIPQ
୯
จ
୯ࡏݿਪҠɾൃɾഇغ
୯ࡏݿਪҠɾൃɾഇغ
ൃՄೳͳೖՙ༧ఆ w ϦʔυλΠϜʹΑΔ ୯ϦʔυλΠϜ ର ܭࢉج४ ୯
݅Λม͑ͯΈΔ
None
࣮Ͱཧղɾݕূ ಈ͘Ϟσϧ ਤࣔͳͲͰཧղɾ ݕূ
None
None
ϩοτͷࡏݿΛ Ͳ͏ཧ͢Δ͔ʁ
ϩοτผࡏݿਪҠϞσϧ ϩοτ ɾೖՙ༧ఆ ɾ࣭ظݶΕ ϩοτࡏݿਪҠ ɾ ɾ ϩοτࡏݿਪҠ ɾ ɾ
ϩοτࡏݿਪҠ ɾ ɾ ϩοτࡏݿਪҠ ɾ ɾ ഇغ༧ఆ ɾ ɾഇغ ༗ݶͱ֬ఆ͍ͯ͠Δ Լ͞Μͷ&3ͱίϯηϓτಉ͡
None
ผ୯ࡏݿͷ ܭࢉ
୯ࡏݿܭࢉ ϩοτ ɾೖՙ༧ఆ ɾ࣭ظݶΕ ϩοτࡏݿਪҠ ɾ ɾ ϩοτࡏݿਪҠ ɾ ɾ
ϩοτࡏݿਪҠ ɾ ɾ ϩοτ ɾೖՙ༧ఆ ɾ࣭ظݶΕ ϩοτࡏݿਪҠ ɾ ɾ ϩοτࡏݿਪҠ ɾ ɾ ཁग़ՙ ɾ ɾ ཁग़ՙ ɾ ɾ ࡏݿ ɾ ɾ ࡏݿ ɾ ɾ
ϩοτࡏݿਪҠ ɾ ɾ ϩοτࡏݿਪҠ ɾ ɾ ཁग़ՙ ɾ ɾ ࡏݿ
ɾ ɾ ୯ࡏݿܭࢉ ద༻ લ ద༻ લ
None
ผ୯ࡏݿߋ৽ॲཧ
ผϩοτࡏݿਪҠɹߋ৽ॲཧ
None
͜͜·ͰͰ w υϝΠϯʹର͢Δཧղ w ಈ͘ɺ࣮Ͱ֬ೝ͞ΕͨϞσϧ
࣮ʹϞσϦϯάͷ Λղܾ͢Δ γεςϜͷυϝΠϯ γεςϜͷ࡞Γํ ͷυϝΠϯ ղܾʹ͏ ಓ۩ͷઢͰ Λཧղ
ΠςϨʔγϣϯ̏
ಡΈ্͛Δ w ࣮ͨ͠Ϋϥε܈ΛɺίʔυΛΕͯʮݴ༿ʯͰݕ ূ͢Δ w ݴޠͷཧʹͯ·Δ͔ʁ w Ϣʔεέʔε͕ॏཁ
·ͱΊ w υϝΠϯۦಈઃܭͷʮࢥߟͷϑϨʔϜϫʔΫʯΛͬ ͯυϝΠϯΛೝࣝɾཧղ͢Δաఔ w ϏϧσΟϯάϒϩοΫͰϞσϧΛΈཱͯΔաఔ w ίʔυ࣮ͱʢ͢ʣݴޠʹΑΓɺϞσϧΛݕূɾ मਖ਼͢Δաఔ
%4-ϓϥοτϑΥʔϜ w ʢຊͷʮ͠ݴ༿ʯத৺Ͱ͕ͨ͠ʣ w ͠ݴ༿ʹݶΒͳ͍ɺʮυϝΠϯ4QFDJpDͳݴޠʯ ΛฤΈग़͢ɹˠɹͦΕ͕ಈ͘ϓϥοτϑΥʔϜ ʢ͜ͷ෦͕औΓΉ͖υϝΠϯͩʣ
ࢀߟॻ੶ w ΤϦοΫɾΤϰΝϯεஶʰΤϦοΫɾΤϰΝϯεͷ υϝΠϯۦಈઃܭʱᠳӭࣾ w +BNFT0$PQMJFOஶʰϚϧνύϥμΠϜσβΠϯʱ ϐΞιϯ w ٢ݪݡ࣏ஶʰઓུใγεςϜͷண؟441ͷݯ ྲྀʱגࣜձࣾຊγεςϛοΫε