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
デザインパターンを学んだら世界が広がった話
Search
ほりしょー
May 31, 2023
Technology
1
220
デザインパターンを学んだら世界が広がった話
「めぐろLT#3」にて発表
https://raksul.connpass.com/event/281666/
ほりしょー
May 31, 2023
Tweet
Share
More Decks by ほりしょー
See All by ほりしょー
LLM(Copilot)を最大限活用するための取り組みとその副産物
h0r15h0
1
110
現実世界の事象から学ぶSOLID原則
h0r15h0
29
17k
集団意思決定の落とし穴と誰も望まない技術的負債
h0r15h0
1
4.5k
Goのパーサ作ってvscode拡張作ってみた!
h0r15h0
0
91
Other Decks in Technology
See All in Technology
Application Development WG Intro at AppDeveloperCon
salaboy
0
200
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
複雑なState管理からの脱却
sansantech
PRO
1
160
日経電子版のStoreKit2フルリニューアル
shimastripe
1
150
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
140
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
440
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.9k
Engineer Career Talk
lycorp_recruit_jp
0
190
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.2k
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
4 Signs Your Business is Dying
shpigford
180
21k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Building Adaptive Systems
keathley
38
2.3k
For a Future-Friendly Web
brad_frost
175
9.4k
GitHub's CSS Performance
jonrohan
1030
460k
A better future with KSS
kneath
238
17k
Transcript
堀崎祥 デザインパターンを学んだら 世界が広がった話
Template Method パターン Bridge パターン 堀崎祥 ラクスル23 新卒入社 ハコベル所属 好きなデザインパターン
自己紹介
デザインパタ ーンとは? ソフトウェア開発における設計パターンに ついての経験やノウハウをまとめたもの。 再利用しやすく機能拡張しやすいソフトウ ェアを作るための有益な技法。 GoF(the Gang of Four)
が 書籍『オブジェクト指向における再利用の ためのデザインパターン』に整理。
今の若者には 理解できない そもそもOOP が 廃れつつある 複雑度に対して わずかな恩恵 時代遅れ デザインパターン不要論
デザインパターンは 不要なのか?
実際に学んで感じた世界の変化を 若手( 新卒) 目線で語ってみる
デザインパターン学習後の変化 コードから見える情報が増加 情報A 情報B 情報C
Rails のとあるコントローラー デザパタを学ぶ前の世界 継承 諸々親が担ってそう メソッド引き継いでそう いい感じにDB から取 り出してくれる
継承 委譲より強い結びつき Observer パターン 各アクションの呼び出 しを監視 機能の追加 Template Method パターン
実行順を子が制御 しなくて良い Facade パターン DB の制御を隠し 簡単なAPI を提供 デザパタを学んだ後の世界
情報量の増加による恩恵 OOP への 深い理解 01 創造性の 刺激 03 設計意図を 汲み取れる
02 情報が多いほど 学びになる。 コーディングに 迷いにくくなる。 OSS も読めるように 他者のコードから いくつもの新発見
OOP ・設計の理解に大きく貢献 不要だとは全く思わない
デザインパターンを学んで 見える世界を広げよう