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
20250315_LT資料_Kyoto.kt #2_デザインパターン
Search
Taipy(タイピー)
March 16, 2025
Programming
0
140
20250315_LT資料_Kyoto.kt #2_デザインパターン
目次
・なぜデザインパターンなのか
・オブジェクト指向プログラミングの原則
・デザインパターン Strategy
・まとめ
Taipy(タイピー)
March 16, 2025
Tweet
Share
More Decks by Taipy(タイピー)
See All by Taipy(タイピー)
React new features (Activity and useEffectEvent)
taipy
0
9
AI駆動開発 設計書から実装へ
taipy
1
1.4k
JavaのOAuthライブラリ 比較検討
taipy
0
220
Other Decks in Programming
See All in Programming
チームをチームにするEM
hitode909
0
440
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
110
AtCoder Conference 2025
shindannin
0
920
Vibe codingでおすすめの言語と開発手法
uyuki234
0
160
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
440
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
200
ゲームの物理 剛体編
fadis
0
400
CSC307 Lecture 01
javiergs
PRO
0
670
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
250
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
310
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
240
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
140
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
100
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Abbi's Birthday
coloredviolet
0
4.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
160
Facilitating Awesome Meetings
lara
57
6.7k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
230
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Transcript
デザインパターン
自己紹介 名前:Taipy(たいぴー) 出身:香川県小豆島 趣味:読書、アニメ、筋トレ
自己紹介 IT業界に入ったきっかけ 膝の靭帯断裂 ・前十字靭帯 ・内側側副靱帯
目次 ・なぜデザインパターンなのか ・オブジェクト指向プログラミングの原則 ・デザインパターン Strategy ・まとめ
AIの台頭 AI コードが書ける 人間 難易度が高い問題 設計 アーキテクチャ
Amazonの説明から一部抜粋 2004年には増補改訂版が刊 行され、2020年には第31刷ま で達するという人気のロングセ ラーとなっています。 2001年に初版が刊行 https://amzn.asia/d/7nyRI8H
学んだ設計原則 アプリケーション内の変更する部分を特定し、不変な 部分と分離する。
Strategy 最も強い者が生き残るのではない、最 も賢い者が生き残るのでもない、唯一 生き残るのは変化できる者である - チャールズ・ダーウィン デザインパターンその1
概要 S t r a t e g y パターンは一連のアルゴリズム
を定 義してカプセル化 し、交換できるようにします。 Strategy パターンを使うと、 アルゴリズムを利用す るクライアントとは独立してアルゴリ ズムを変更でき ます。
いつ使うのか? 1. アルゴリズムの切り替えが必要 2. 拡張性 「アルゴリズム」 →特定の問題を解決するために定められた手順や計算方法 →要するに、「倒し方」
None
None
None
アルゴリズムを切り出す
Before After
Before
None
まとめ ・アルゴリズムを頻繁に変更する場合は →ストラテジーパターンを使おう!
参考文献 ・Eric Freeman (著), Elisabeth Robso (著), 佐藤 直生 (監修)「Head
Firstデザイン パターン 第2版 ―頭とからだで覚えるデザインパターンの基本」, https://amzn.asia/d/aXDdbrL ・Refactoring.Guru「デザインパターン」 https://refactoring.guru/ja/design-patterns ※直前までのスライドで引用していないものをここに記載