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
laravelとデザインパターン
Search
Takayuki
PRO
December 20, 2017
Technology
1.8k
1
Share
laravelとデザインパターン
laravelとデザインパターン
Takayuki
PRO
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
PRO
0
29
Laravel Applications with DDD x Clean Architecture x Vibe Coding
bumptakayuki
PRO
1
120
Laravel × Clean Architecture
bumptakayuki
PRO
1
540
エンジニアのキャリア論
bumptakayuki
PRO
1
290
地方カンファレンス主催のススメ
bumptakayuki
PRO
1
260
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
PRO
2
1.3k
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
PRO
0
790
沖縄観光、名物を一挙紹介!
bumptakayuki
PRO
2
780
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
PRO
1
3.4k
Other Decks in Technology
See All in Technology
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
0
170
最低限これだけ押さえれ大丈夫_Claude Enterprise/Team企業展開ガバナンス入門
tkikuchi
1
680
インフラが苦手でも大丈夫! 紙芝居 Kubernetes -WWGT 10周年編-
aoi1
1
330
ChatworkとBPaaS 異なる特性で学んだAI機能開発の ベストプラクティス
kubell_hr
2
1.9k
Ruby::Boxでできること、Refinementsでできること
joker1007
3
380
自称宇宙最速で不合格となったAIP-C01にリベンジを果たすべくAIで問題集アプリを作ってみた。
yama3133
0
260
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
200
Diagnosing performance problems without the guesswork
elenatanasoiu
0
150
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
170
Datadog 認定試験の概要と対策
uechishingo
0
230
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
710
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
600
Featured
See All Featured
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
BBQ
matthewcrist
89
10k
Ethics towards AI in product and experience design
skipperchong
2
300
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.6k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
350
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
530
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
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