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
December 20, 2017
Technology
1
1.7k
laravelとデザインパターン
laravelとデザインパターン
Takayuki
December 20, 2017
Tweet
Share
More Decks by Takayuki
See All by Takayuki
Laravel × Clean Architecture
bumptakayuki
0
280
エンジニアのキャリア論
bumptakayuki
0
190
地方カンファレンス主催のススメ
bumptakayuki
1
200
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
2
1.1k
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
0
650
沖縄観光、名物を一挙紹介!
bumptakayuki
2
640
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
1
2.6k
flutterでイベントアプリを作ってみた
bumptakayuki
0
160
オフショア開発の辛みと学んだ事
bumptakayuki
0
390
Other Decks in Technology
See All in Technology
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
130k
CDKTFについてざっくり理解する!!~CloudFormationからCDKTFへ変換するツールも作ってみた~
masakiokuda
1
130
成長し続けるアプリのためのテストと設計の関係、そして意思決定の記録。
sansantech
PRO
0
120
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
280
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
200
使いたいMCPサーバーはWeb APIをラップして自分で作る #QiitaBash
bengo4com
0
1.9k
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
270
Delta airlines®️ USA Contact Numbers: Complete 2025 Support Guide
airtravelguide
0
340
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
510
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
7.6k
SEQUENCE object comparison - db tech showcase 2025 LT2
nori_shinoda
0
130
Operating Operator
shhnjk
1
580
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Building Applications with DynamoDB
mza
95
6.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Typedesign – Prime Four
hannesfritz
42
2.7k
How GitHub (no longer) Works
holman
314
140k
Rails Girls Zürich Keynote
gr2m
95
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
RailsConf 2023
tenderlove
30
1.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
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