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
Symfonyと抽象クラス
Search
matsu_hide
August 07, 2019
Programming
1
240
Symfonyと抽象クラス
matsu_hide
August 07, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
CircleCIを活用して AWSへの継続的デリバリーを 実践する
coconala_engineer
1
110
Some Quick Ideas To Improve Your Tests ( #jassttokyo )
teyamagu
PRO
2
2.3k
導入から5年が経って見えた Datadog APM 運用の課題
bgpat
2
540
Enhancing Applications with Accessibility API
kishikawakatsumi
3
1.1k
Building a Smaller App Binary
kateinoigakukun
2
220
プロンプトエンジニアリング入門
tomokusaba
2
990
Dockerで始めるAWS Lambda開発
stutkhd0709
14
2.5k
品質が高いコードって何?Rev2.1
ickx
1
490
Introduction for Open Source Swift Workshop
giginet
PRO
0
290
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
1.6k
オブジェクトしこう
okuramasafumi
2
130
WasmOS: Wasmを実行する自作Microkernel
riru
0
380
Featured
See All Featured
KATA
mclloyd
14
11k
RailsConf 2023
tenderlove
0
510
Music & Morning Musume
bryan
39
5.5k
Making the Leap to Tech Lead
cromwellryan
123
8.4k
What the flash - Photography Introduction
edds
64
11k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
5
1.4k
How to name files
jennybc
62
92k
Code Review Best Practice
trishagee
54
15k
Faster Mobile Websites
deanohume
296
30k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
153
14k
The World Runs on Bad Software
bkeepers
PRO
60
6.6k
Agile that works and the tools we love
rasmusluckow
323
20k
Transcript
Symfonyと 抽象クラス Symfony Meetup Kansai #2 松藤 秀治 (2019-08-07)
自己紹介 • 松藤 秀治(まつふじ ひではる) • matsu_hide • フリーエンジニア • Symfonyをよく使う
抽象クラスとは?
特定の視点から対象を見たときに 導き出される型と振る舞い (自説)
抽象クラス 実装寄り → インスタンスとかテンプレートメソッドとか 設計寄り → 抽象とか 今日は設計寄りの話です。
抽象クラスは悪者? ・確かに共通処理をくくりだすという理由だけで使うと失敗しや すい。 ・でもうまくいっている例もあるはず。 ・一体何が違うんだろう?
[Symfonyでの使用例1] フォームタイプ
[Symfonyでの使用例2] バリデーター(制約)
[Symfonyでの使用例3] ダンプ
どうしてSymfony(フレームワーク)では 使われているのか?
AbstractType → フォームの要素をどう扱うか? Constraint → Nullや文字数の制約をどう扱うか? AbstractDumper → オブジェクトなどをどう出力するか? 解決したい問題に着目(特定の視点)
そうは言ってもフレームワーク は特別でしょう?
・ソフトウェアで問題を解決するという点でフレームワークも自分 が作るものも同じ。 ・それならフレームワークで使われている技術は自分が作るとき も有用なはず。 ・自分が作るものをフレームワークにするとしたら?という視点。
まとめ • 解決したい問題に焦点をあて、必要であれば抽象クラスを 使う。(再利用される頻度と複雑さのバランスは大事。) • 自分が作るものをフレームワークにするとしたら?という 視点は大事。 • 抽象クラスだけでなくさまざまな技術は問題を解決する(捉 える)ためにある。