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
84
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
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
560
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.4k
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
320
Webフレームワークの ベンチマークについて
yusukebe
0
160
CSC307 Lecture 17
javiergs
PRO
0
320
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
120
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
2k
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
780
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
330
RTSPクライアントを自作してみた話
simotin13
0
570
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
230
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.6k
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
4 Signs Your Business is Dying
shpigford
187
22k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Building Applications with DynamoDB
mza
96
7.1k
The Language of Interfaces
destraynor
162
27k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
KATA
mclloyd
PRO
35
15k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Test your architecture with Archunit
thirion
1
2.3k
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