Symfonyと抽象クラス

 Symfonyと抽象クラス

1e3e03552b381f1254e08a6caee69d45?s=128

matsu_hide

August 07, 2019
Tweet

Transcript

  1. Symfonyと  抽象クラス Symfony Meetup Kansai #2 松藤 秀治 (2019-08-07)

  2. 自己紹介 • 松藤 秀治(まつふじ ひではる) • matsu_hide • フリーエンジニア • Symfonyをよく使う

  3. 抽象クラスとは?

  4. 特定の視点から対象を見たときに 導き出される型と振る舞い (自説)

  5. 抽象クラス 実装寄り → インスタンスとかテンプレートメソッドとか 設計寄り → 抽象とか 今日は設計寄りの話です。

  6. 抽象クラスは悪者? ・確かに共通処理をくくりだすという理由だけで使うと失敗しや すい。 ・でもうまくいっている例もあるはず。 ・一体何が違うんだろう?

  7. [Symfonyでの使用例1] フォームタイプ

  8. [Symfonyでの使用例2] バリデーター(制約)

  9. [Symfonyでの使用例3] ダンプ

  10. どうしてSymfony(フレームワーク)では 使われているのか?

  11. AbstractType → フォームの要素をどう扱うか? Constraint → Nullや文字数の制約をどう扱うか? AbstractDumper → オブジェクトなどをどう出力するか? 解決したい問題に着目(特定の視点)

  12. そうは言ってもフレームワーク は特別でしょう?

  13. ・ソフトウェアで問題を解決するという点でフレームワークも自分 が作るものも同じ。 ・それならフレームワークで使われている技術は自分が作るとき も有用なはず。 ・自分が作るものをフレームワークにするとしたら?という視点。

  14. まとめ • 解決したい問題に焦点をあて、必要であれば抽象クラスを 使う。(再利用される頻度と複雑さのバランスは大事。) • 自分が作るものをフレームワークにするとしたら?という 視点は大事。 • 抽象クラスだけでなくさまざまな技術は問題を解決する(捉 える)ためにある。