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
110
20220730[PHP]デザインパターン色々学んでみた
kuma
July 30, 2022
Tweet
Share
More Decks by kuma
See All by kuma
エンジニアの輪スライド
kumainataku
0
31
20220227 可読性って大事
kumainataku
0
62
20220319[Laravel]想定外のN+1アラート
kumainataku
0
77
20211027_僕の転職活動の振り返り.pdf
kumainataku
0
99
オブジェクト指向(超基礎)
kumainataku
0
140
20210516 LT資料(PHP echo print)
kumainataku
0
33
20210425 LT会(基本情報技術者)
kumainataku
0
29
202104 読書LT会
kumainataku
0
170
Other Decks in Programming
See All in Programming
RaaP
ksss
0
160
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
74k
TypeScriptのパフォーマンス改善
yajihum
14
5.2k
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
370
ペパボOpenTelemetry革命
pyama86
2
1.2k
Timeline エディター拡張入門
yucchiy
0
460
Documentation testsの恩恵 / Documentation testing benefits
ssssota
1
570
Docker_OSS_ホスティング入門
satokoki645
0
140
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
1
130
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
13
4.4k
Try creating your own orderedmap
kazamori
1
290
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
19
2.5k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
43
12k
What the flash - Photography Introduction
edds
64
11k
Designing the Hi-DPI Web
ddemaree
276
33k
The Invisible Side of Design
smashingmag
294
49k
Teambox: Starting and Learning
jrom
128
8.4k
Producing Creativity
orderedlist
PRO
338
39k
Happy Clients
brianwarren
92
6.4k
Building an army of robots
kneath
300
42k
How to train your dragon (web standard)
notwaldorf
75
5.2k
Web Components: a chance to create the future
zenorocha
306
41k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
Rails Girls Zürich Keynote
gr2m
91
13k
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