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
20220730[PHP]デザインパターン色々学んでみた
Search
kuma
July 30, 2022
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20220730[PHP]デザインパターン色々学んでみた
kuma
July 30, 2022
More Decks by kuma
See All by kuma
エンジニアの輪スライド
kumainataku
0
290
20220227 可読性って大事
kumainataku
0
86
20220319[Laravel]想定外のN+1アラート
kumainataku
0
200
20211027_僕の転職活動の振り返り.pdf
kumainataku
0
120
オブジェクト指向(超基礎)
kumainataku
0
160
20210516 LT資料(PHP echo print)
kumainataku
0
59
20210425 LT会(基本情報技術者)
kumainataku
0
49
202104 読書LT会
kumainataku
0
210
Other Decks in Programming
See All in Programming
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
130
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
490
Performance Engineering for Everyone
elenatanasoiu
0
270
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
370
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
730
えっ!!コードを読まずに開発を!?
hananouchi
0
200
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
4.2k
継続モナドとリアクティブプログラミング
yukikurage
3
590
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
0
130
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9k
Creating Composable Callables in Contemporary C++
rollbear
0
210
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
380
Featured
See All Featured
Crafting Experiences
bethany
1
210
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
220
For a Future-Friendly Web
brad_frost
183
10k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
390
New Earth Scene 8
popppiees
3
2.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
A Soul's Torment
seathinner
6
3.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.4k
Transcript
デザインパターンって何?を少し理解した 2022 / 7/ 30 クマ
自己紹介 • 名前 :稲熊琢椰(52画) • 出身 :名古屋出身 • 趣味 :ラーメン(半ばジロリアン)、甘いもの、テニス
• 実務経験:ちょうど1年 • 前職 :自動車部品の法人営業 • 使用言語:PHP(Laravel)、JavaScript(Vue) • 最近の目標 – サーバー周りいじれるようになること – 副業 – 新しい言語:副業で必要になりそうなやつを( TS, Go, Kotlin, etc…) – 副業のためにPCを購入…DELL Inspilon16を検討 • 現状:NEC製|CPU: Intel i5-8200Y(Passmarks 2262) |メモリ8GB P-01
目次 • 話すこと • やりたいこと • やったこと • 課題と今後の方針 •
おわりに P-01
話すこと P-01
話すこと • なぜデザインパターンだったのか • 何を使って学んだか • デザインパターンを学んでどうだったか – 学んでどうなったのか、実務で活かせたか •
自分の所感 – 今後の課題、活かし方 P-01
やりたいこと P-01
そもそもなぜデザインパターンだったのか 実務で進捗を出す一つのきっかけにしたかったから ➡藁にもすがる思いで学習開始 ※今のプロジェクトでは1クラスでたくさんの処理を書いてるなあ、 という点は気になっていた P-01
やったこと P-01
学習した書籍・サイト ①Java言語で学ぶ デザインパターン入門第3版 P-01 ②PHPによるデザインパター ン入門 https://shimooka.hateblo.jp/e ntry/20141211/1418298136
学習した内容 • 書籍の読み込み – そもそもデザインパターンって何?から始まったので概念理解 – 各パターンのインプット • サンプルコードでの実装 –
自分はPHPなので、サイトのサンプルコードを自分で書いて、各 クラスの役割と各パターンのメリットを理解 • 実務で使用 – 「テンプレートメソッドパターン」を使った処理の共通化を実際に 実務で使ってみた P-01
課題と今後の方針 P-01
課題 • 実際に学んだのは11/23個 – 本当は今月で終わる予定だった – メリットが理解できないパターンもよくあり具体的な利用シーンがイ メージできず苦戦 • 実務に取り入れられたのは1個だけ
– 他にも検討したが、使えそうなところが思い浮かばない • 実用レベルにインプットできていない – 上記同様、学習と実務が結びつかないジレンマ P-01
今後の方針 P-01 1. 引き続き学習 – 残りの12個は8月中に終了させる 1. 会社の上司の知見も借りながら、デザインパターンを使える ようなところ(リファクタできそうなところ)を見つける –
実際に使ってみないと自分のモノになっていない感が合って怖い 1. 少しづつリポジトリパターン学んでいく – ここは友人が 「デザインパターン➡リポジトリパターン➡DDDで学んだらプロジェ クト全体の中でのクラスの役割がよくわかるようになったからオスス メ」 と言っていたので、一旦は鵜呑みにしてみようかなという次第です
おわりに P-01
おわりに • オブジェクトのふるまい、構造、生成を意識するようになった 点はいい機会になった! – コード書いててオブジェクト指向を今まで以上に意識して書くように なったので、細々とコードには学習結果が表れている • まずはデザインパターンでの実装実績を5つほど作りたい –
使うパターンは限られるハズ。頻出パターンってあるんですかね? – 多くのエンジニアさんは意識せずに使っているケースが多いと推測 しています。。。 • 進捗出すためにデザインパターンに時間を費やすことが最適 解なのか? – オブジェクト指向の理解が進み、再利用性の高いクラスを書くこと を意識できるようになった P-01
ご清聴ありがとうございました。 遠慮なく、ご意見・アドバイス頂けますと 幸いです! P-01