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
laravelとデザインパターン
Search
Takayuki
December 20, 2017
Technology
1.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
laravelとデザインパターン
laravelとデザインパターン
Takayuki
December 20, 2017
More Decks by Takayuki
See All by Takayuki
Build an MCP Server in Laravel to Enable “AI-Operated” Recruiting Tools(English)
bumptakayuki
0
59
Laravel Applications with DDD x Clean Architecture x Vibe Coding
bumptakayuki
1
130
Laravel × Clean Architecture
bumptakayuki
1
620
エンジニアのキャリア論
bumptakayuki
1
310
地方カンファレンス主催のススメ
bumptakayuki
1
280
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
2
1.4k
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
0
840
沖縄観光、名物を一挙紹介!
bumptakayuki
2
860
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
1
3.6k
Other Decks in Technology
See All in Technology
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
130
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
1.5k
おい、エージェントを使って終わらせろ
nwiizo
0
210
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
150
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
340
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
2
2.2k
What the customer really needed
kawaguti
PRO
1
150
Railsのように考える: See through the Master
snoozer05
PRO
1
450
GoにおけるFFIのこれまでとこれから
goccy
5
3.1k
MCPをつなげて作る組織横断のAIエージェント基盤(の開発工程)
tsubakimoto_s
0
130
Sigmaで作る業務アプリ
kazushiro_honma
0
140
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
190
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
141
7.7k
Designing Experiences People Love
moore
143
24k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
980
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
840
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
570
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
740
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Discover your Explorer Soul
emna__ayadi
2
1.3k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
520
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Transcript
鈴木孝之 2017/12/19 Laravelとデザインパタʔン
"HFOEB 'BDFEFύλʔϯͱ -BSBWFMͷ'BDFEFͱ 'BDBEFͷಋೖࣄྫ
0.ࣗݾհ ◆໊લ ླ ೭(Suzuki Takayuki) ◆ࣗݾհ ɾ1990ɺਆಸݝੜ·Εɻ ɾ2015ʹϑϧεϐʔυʹೖࣾ͠ɺ20175 ݄ʹ ϑϦʔϥϯεʹͳΓɺىۀ४උɻ
ɾݱࡏɺԭೄͷΪʔΫϋεͱؔ౦ۙลΛ த৺ʹ׆ಈɻ ࠷ۙɺىۀ͠·ͨ͠ɻ ◆झຯ ϚϥιϯେձɺίεϓϨɺԻָϥΠϒɺٿ ؍ઓ
0.ࣗݾհ ΪʔΫϋεͱɺओʹΤϯδχΞϓϩάϥ ϚʔΛ৬छͱ͢ΔਓɺWeb͕͖ͳਓͳͲ͕ ڞʹॅΉίϯηϓτܕγΣΞϋεͰ͢ʂ ΤϯδχΞͳͲ͕ଟ͍͜ͱ͔Βॅຽಉ࢜Ͱϓϩ άϥϛϯάΛڭ͑߹ͬͨΓ͠·͢ʂ
'BDFEFύλʔϯͱ
1.Facedeύλʔϯͱ ɾʮϑΝαʔυʯʢӳ: facadeʣ ͋·Γฉ͖ͳΕͳ͍ݴ༿Ͱ͕͢ϑϥϯεޠɺΠλϦΞ ޠ͔Βͷआ༻ޠͰɺʮݐͷද໘ʯɺͱΓΘ͚ʮਖ਼໘ʯ ͱ͍͏ҙຯͰΘΕ·͢ɻ ޠݯϥςϯޠͷfaciesʢӳ: faceʣʢ໘͢Δɺإʣ ͕సͨ͡ͷͰ͢ɻ
1.Facedeύλʔϯͱ ɾFacade ύλʔϯ͋Δ͍ Façade ύλʔϯʢϑΝ αʔυɾύλʔϯʣͱɺGoFʢGang of Four; 4ਓͷ ΪϟϯάͨͪʣʹΑͬͯఆٛ͞Εͨɺίϯϐϡʔλι
ϑτΣΞͷσβΠϯύλʔϯͷ1ͭͰ͋ΔɻFacade ʢϑΝαʔυʣͱʮݐͷਖ਼໘ʯΛҙຯ͢Δɻҟͳ ΔαϒγεςϜΛ୯७ͳૢ࡞͚ͩΛ࣋ͬͨFacadeΫϥ εͰ݁ͼɺαϒγεςϜؒͷಠཱੑΛߴΊΔࣄΛత ͱ͢Δɻ
1.Facedeύλʔϯͱ ɾFacadeΫϥε͋͘·ͰαϒγεςϜ ෦ʹࣄΛ͛Δ͚ͩͰෳࡶͳ࣮ ࣋ͨͳ͍ɻ ଟ༷ͳػೳͷմͰ͋ΔαϒγεςϜ͔Βɺ αϒγεςϜΛར༻͢ΔϢʔβʔͷ༻్ʹ ߹Θͤͨ૭ޱ(ΠϯλʔϑΣʔε)Λఏڙ͢ Δ͚ͩͰ͋Δɻ
-BSBWFMͷ'BDFEFͱ
ґଘੑೖ ґଘੑೖΛ͏ ͱॊೈੑɺอकੑ ্͕͕Γ·͢ɻ ૄ݁߹ʹͳΔͨΊɺςετָ͕ αʔϏείϯςφΛհͯ͠Πϯ ελϯεʹΞΫηε͢Δҝɺς ετΛهड़͢Δ࣌ʹɺϞοΫʹ ೖସ͑Δ͜ͱ͕ग़དྷ·͢ɻ γϯάϧτϯʹͰ͖Δɻ
αʔϏείϯςφΛհͯ͠ ΠϯελϯεʹΞΫηε͢ ΔҝɺΦϒδΣΫτΛγϯ άϧτϯͱͯ͠ొͰ͖· ͢ɻຖճΫϥεΛ new ͢ ΔͷʹൺͯɺϝϞϦʔޮ ɺύϑΥʔϚϯεޮ͕ ্͕Γ·͢ɻ 1 3 2 LaravelͷFacadeͷϝϦοτɾಛ
༻ҙ͞ΕͨϑΝαʔυ LaravelͰඪ४Ͱ37छྨͷϑΝαʔυ͕ఏڙ͞Ε͍ͯ·͢ɻ
ͲͷΑ͏ͳ໘Ͱ༻͢Δ͖ʁ ɾෳͷॲཧʹରͯ͠ɺେͷࢦࣔग़͠ ͢ΔΠϯλʔϑΣʔεΛ࡞͓͖͍ͬͯͨ ࣌ʁ
࣮ྫ DBϑΝαʔυͷத
࣮ྫ DBϑΝαʔυͷதͰ ෳͷϞδϡʔϧΛ ݺͼग़͍ͯ͠Δ
͓͢͢Ί ɾLaravelͷIDE Helper FacadeͰIDEͰιʔεʹδϟϯϓͰ͖Δ https://qiita.com/michiomochi@github/items/fc70230402972c99472f
'BDBEFͷಋೖࣄྫ
ϑΝʔαʔυͷ࡞ Ͱɺ࣮ࡍʹϑΝαʔυΛ࡞ͯ͠Έ·͢ɻҎԼͷखॱͱͳΓ·͢ɻ 1.ΫϥεΛ࡞ 2.αʔϏεϓϩόΠμʔΛ࡞ 3.αʔϏεϓϩόΠμʔͷઃఆ 4.ϑΝαʔυΫϥεΛ࡞ 5.ϑΝαʔυΤϦΞεͷઃఆ 6.ϑΝαʔυΛͬͯΈΔ
1.ΫϥεΛ࡞ αʔϏεΫϥεΛ࡞
2.αʔϏεϓϩόΠμʔΛ࡞ $ php artisan make:provider UtilsServiceProvider
3.αʔϏεϓϩόΠμʔͷઃఆ
4.ϑΝαʔυΫϥεΛ࡞ FacadeσΟϨΫτϦΛΔ
5.ϑΝαʔυΤϦΞεͷઃఆ app.phpͷaliasesʹ ఆٛ
6.ϑΝαʔυΛͬͯΈΔ ίϯτϩʔϥଆͰݺͼग़͢
ࢀߟ https://laravel10.wordpress.com/2015/04/27/%E3%83%95%E3%82%A1%E3%82%B5%E3%83%BC %E3%83%89/ https://ja.wikipedia.org/wiki/Facade_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3 https://qiita.com/yousan/items/18dab4dbac4a27ce3662