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
330
【JavaScript】クロージャを理解して正しく使う
tompenguin
0
530
Git ゼンゼン ムズカシクナイ
tompenguin
0
550
あきらめる Atomic Design
tompenguin
5
740
Other Decks in Programming
See All in Programming
Graviton と Nitro と私
maroon1st
0
160
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
510
Patterns of Patterns
denyspoltorak
0
420
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
430
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
200
はじめてのカスタムエージェント【GitHub Copilot Agent Mode編】
satoshi256kbyte
0
140
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.4k
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
160
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.4k
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.3k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
630
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
230
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.5k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
78
Visualization
eitanlees
150
16k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
690
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
120
HDC tutorial
michielstock
1
290
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
100
Rails Girls Zürich Keynote
gr2m
95
14k
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
130
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