#デザインパターンのお勉強をしたい
このサイトの例を参考にしてちょっとづつデザインパターンを勉強しながらオブジェクト指向の設計を覚えていきたいと思います。
https://www.techscore.com/tech/DesignPattern/index.html/
まだまだ始めたばかりなので、解釈のおかしなところあると思うのでコメントいただけますと助かります。
また普段PHPを使用しているのですが、こんなところでよく使うよというようなアドバイスありましたらいただけますと大変助かります。
#コマンドパターン
下記引用
22.1 Commandパターンとは
第22章ではCommandパターンを学びます。あるオブジェクトに対して要求を送るということは、そのオブジェクトのメソッドを呼び出すことと同じです。 そして、メソッドにどのような引数を渡すか、ということによって要求の内容は表現されます。さまざまな要求を送ろうとすると、引数の数や種類を増やさなければなりませんが、 それには限界があります。そこで要求自体をオブジェクトにしてしまい、そのオブジェクトを引数に渡すようにします。それがCommandパターンです。
Commandパターンは、要求をCommandオブジェクトにして、それらを複数組み合わせて使えるようにするパターンです。
#実装リポジトリ
https://github.com/TOnodera/Command
サイトの例に従って、まず機能を実装してリファクタリングしました。
#感想
「なぜオブジェクト指向でつくるのか?」を読んで疎結合で作ることやメイン処理部分にif文を使わないことでコードの可読性や保守性が上がるメリットは理解した気がしていました。
ただ、デザインパターンはそれぞれその良さをもっているのはわかるものの具体的にどういう部分で適用するのがやっぱり自分は理解していないなと感じました。
このパターンについてもリファクタリングの中では確かに読みやすい&保守性もあがるのはわかるけどやっぱり実践で使わないとだめですね。