どのような場合にインスタンスを利用すべきであり、どのような場合にはクラスメソッドだけで十分、と判断すればよろしいのでしょうか?

クラスはインスタンス化して利用するのが基本だと考えていただいて構いません。
2021年11月16日
ユーザー

いつも大変お世話になっております。
素晴らしい動画の数々に支えられながら、日々勉強に励んでおります。

一点、クラスについて質問があるのですが、

今回のクラスの実装の場合、
Todo 以外のクラスについては、
「インスタンスを利用するまでもない」という理由で、関数をすべてクラスメソッドの形でまとめているかと思います。

この、
「インスタンスを利用しなければならない(もしくは、利用したほうが良い)場合」と、「利用するまでもない場合」の基準がわからず困っています。

今回作成したクラスについても、
(冗長にはなりますが)すべてのクラスをインスタンスを利用した方法で用いることもできそうですし、
逆に Todo についても、インスタンスを生成せずにクラスメソッドのみで用いることもできるのだと思います( Todo クラス内部で PDO を取得すれば、引数として渡す必要もないと思いますので)。

言い方を変えると、
もし「なぜ Todo にはインスタンスが必要なのか?」「なぜ Token にはインスタンスが不要なのか?」と質問された場合、うまく回答できないのです。

どのような場合にインスタンスを利用すべきであり、どのような場合にはクラスメソッドだけで十分、と判断すればよろしいのでしょうか?

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(6)