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
TomPenguin
October 26, 2022
Programming
0
210
【JavaScript】Strategy Patternっぽいのをちょい使いしてif分を駆逐する
TomPenguin
October 26, 2022
Tweet
Share
More Decks by TomPenguin
See All by TomPenguin
Domain Modelを共有していい感じにプロダクトを作る
tompenguin
0
320
【JavaScript】クロージャを理解して正しく使う
tompenguin
0
520
Git ゼンゼン ムズカシクナイ
tompenguin
0
550
あきらめる Atomic Design
tompenguin
5
730
Other Decks in Programming
See All in Programming
VS Code Update for GitHub Copilot
74th
2
600
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
140
すべてのコンテキストを、 ユーザー価値に変える
applism118
3
1.1k
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
120
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
490
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
280
C++20 射影変換
faithandbrave
0
560
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
270
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
260
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
220
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
530
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
690
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
How to Ace a Technical Interview
jacobian
277
23k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
125
52k
Making Projects Easy
brettharned
116
6.3k
The Language of Interfaces
destraynor
158
25k
Typedesign – Prime Four
hannesfritz
42
2.7k
Facilitating Awesome Meetings
lara
54
6.4k
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