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
【JavaScript】Strategy Patternっぽいのをちょい使いしてif分を駆逐する
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
TomPenguin
October 26, 2022
Programming
220
0
Share
【JavaScript】Strategy Patternっぽいのをちょい使いしてif分を駆逐する
TomPenguin
October 26, 2022
More Decks by TomPenguin
See All by TomPenguin
Domain Modelを共有していい感じにプロダクトを作る
tompenguin
0
340
【JavaScript】クロージャを理解して正しく使う
tompenguin
0
530
Git ゼンゼン ムズカシクナイ
tompenguin
0
560
あきらめる Atomic Design
tompenguin
5
760
Other Decks in Programming
See All in Programming
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
540
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
990
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
450
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
230
KagglerがMixSeekを触ってみた
morim
0
370
Swift Concurrency Type System
inamiy
0
400
Nuxt Server Components
wattanx
0
260
まかせられるPM・まかせられないPM / DevTech GUILD Meetup
yusukemukoyama
0
110
3分でわかるatama plusのQA/about atama plus QA
atamaplus
0
130
ふりがな Deep Dive try! Swift Tokyo 2026
watura
0
160
アーキテクチャモダナイゼーションとは何か
nwiizo
17
4.6k
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
3
360
Featured
See All Featured
The Curse of the Amulet
leimatthew05
1
11k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
480
The Invisible Side of Design
smashingmag
302
51k
RailsConf 2023
tenderlove
30
1.4k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
140
Thoughts on Productivity
jonyablonski
76
5.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
HDC tutorial
michielstock
1
610
Documentation Writing (for coders)
carmenintech
77
5.3k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
340
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Transcript
Strategy Pattern JavaScript っぽいのをちょい使いして if文を駆逐する TomPenguin karabiner. inc 2022/10/26
スライドを書いた人 元百貨店員。 Vue.js触りつつバックエンドにピボットし つつあるエンジニア。 仙台から福岡のシステム開発会社にフルリ モートで勤務。 TomPenguin tompenguin_ Work at
karabiner, inc
アジェンダ ① if文が増えがちな処理 ② Strategy Patternとは?
① if文が増えがちな処理 Processing that tends to increase if statements
種別ごとに返す値が違う ① if文が増えがちな処理 チケット料金の例) • 大人料金は3,000円 • 小人料金は1,000円 • ペア料金は5,000円
条件により返す値が違う ① if文が増えがちな処理 条件の識別子がkey、対応す る値がvalueのオブジェクト を定義する。 ちょい使いするとこう ♀ if文が無くなってスッキリ!
閾値ごとに返す値が違う ① if文が増えがちな処理 団体割引の例) • 30人の利用で2割引 • 10人の利用で1割引 • それら以下は割引なし
閾値ごとに返す値が違う ① if文が増えがちな処理 ♀ 閾値と値を対応づけした配列 を用意する。 ちょい使いするとこう if文が無くなってオシャレ!
② Strategy Patternとは? What’s Strategy Pattern
② Strategy Patternとは? これまでのスライドの雰囲気のように、 種別ごとに異なる振る舞いをさせたいと き、その詳細を隠蔽するためのデザイン パターンですが、、 参考:【TS】今さら聞けないストラテジパターン https://zenn.dev/nekoniki/articles/396ebc523930c196dc13
② Strategy Patternとは? 単に種別や条件の時返す値が違うとき そのままパターンを実装すると大袈裟に なってしまうので ちょい使いしよう💡
おわりに 大事なことはデザインパターン通りに 忠実に実装することではなく いかにスマートに目の前の課 題を解決するか💡 ということです。
おわりに デザインパターンなどの勉強している 時は頭が固くなってしまいがちですが そのパターンが解決しようとし ている課題の本質を理解し 柔軟にパターンを適用していき ましょう。
Strategy Pattern JavaScript っぽいのをちょい使いして if文を駆逐する TomPenguin karabiner. inc 2022/10/26