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
0
130
20220730[PHP]デザインパターン色々学んでみた
kuma
July 30, 2022
Tweet
Share
More Decks by kuma
See All by kuma
エンジニアの輪スライド
kumainataku
0
240
20220227 可読性って大事
kumainataku
0
80
20220319[Laravel]想定外のN+1アラート
kumainataku
0
160
20211027_僕の転職活動の振り返り.pdf
kumainataku
0
110
オブジェクト指向(超基礎)
kumainataku
0
160
20210516 LT資料(PHP echo print)
kumainataku
0
54
20210425 LT会(基本情報技術者)
kumainataku
0
43
202104 読書LT会
kumainataku
0
190
Other Decks in Programming
See All in Programming
Swift Updates - Learn Languages 2025
koher
2
470
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
120
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
3
200
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
6
2.5k
ソフトウェアテスト徹底指南書の紹介
goyoki
1
150
開発チーム・開発組織の設計改善スキルの向上
masuda220
PRO
20
11k
print("Hello, World")
eddie
2
530
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
1
220
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
590
Navigating Dependency Injection with Metro
zacsweers
3
260
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
2.2k
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
230
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
A designer walks into a library…
pauljervisheath
207
24k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Speed Design
sergeychernyshev
32
1.1k
BBQ
matthewcrist
89
9.8k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Designing for humans not robots
tammielis
253
25k
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