【週刊ドットインストール】 『データで学ぶアルゴリズム Level 1-2』を運営中、Level 1-2も来週リリース予定!
いつも大変お世話になっております。 素晴らしい動画の数々に支えられながら、日々勉強に励んでおります。 一点、クラスについて質問があるのですが、 今回のクラスの実装の場合、 Todo 以外のクラスについては、 「インスタンスを利用するまでもない」という理由で、関数をすべてクラスメソッドの形でまとめているかと思います。 この、 「インスタンスを利用しなければならない(もしくは、利用したほうが良い)場合」と、「利用するまでもない場合」の基準がわからず困っています。 今回作成したクラスについても、 (冗長にはなりますが)すべてのクラスをインスタンスを利用した方法で用いることもできそうですし、 逆に Todo についても、インスタンスを生成せずにクラスメソッドのみで用いることもできるのだと思います( Todo クラス内部で PDO を取得すれば、引数として渡す必要もないと思いますので)。 言い方を変えると、 もし「なぜ Todo にはインスタンスが必要なのか?」「なぜ Token にはインスタンスが不要なのか?」と質問された場合、うまく回答できないのです。 どのような場合にインスタンスを利用すべきであり、どのような場合にはクラスメソッドだけで十分、と判断すればよろしいのでしょうか?
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
いつも大変お世話になっております。
素晴らしい動画の数々に支えられながら、日々勉強に励んでおります。
一点、クラスについて質問があるのですが、
今回のクラスの実装の場合、
Todo 以外のクラスについては、
「インスタンスを利用するまでもない」という理由で、関数をすべてクラスメソッドの形でまとめているかと思います。
この、
「インスタンスを利用しなければならない(もしくは、利用したほうが良い)場合」と、「利用するまでもない場合」の基準がわからず困っています。
今回作成したクラスについても、
(冗長にはなりますが)すべてのクラスをインスタンスを利用した方法で用いることもできそうですし、
逆に Todo についても、インスタンスを生成せずにクラスメソッドのみで用いることもできるのだと思います( Todo クラス内部で PDO を取得すれば、引数として渡す必要もないと思いますので)。
言い方を変えると、
もし「なぜ Todo にはインスタンスが必要なのか?」「なぜ Token にはインスタンスが不要なのか?」と質問された場合、うまく回答できないのです。
どのような場合にインスタンスを利用すべきであり、どのような場合にはクラスメソッドだけで十分、と判断すればよろしいのでしょうか?