ここで哲学的な質問 OOP とデータベース、特にクラスがデータベースでバックアップされているプログラムに関しては、これにアプローチする最良の方法は何ですか? たとえば、チーム クラスには選手のコレクションが含まれる場合があります。プログラムは、起動時にデータベースからすべてのチーム データをロードし、メモリ内ですべての操作を行い、終了時にデータベースを書き込みます。それとも、変更が発生するたびに各データ操作をデータベースに書き込む方がよいでしょうか? これがより良い方法である場合、そもそもなぜデータをメモリにロードするのでしょうか?
もう 1 つの懸念は、データベースが 1 つの重要な点で標準の OOP を破っているように見えることです。OOP を使用して、プレイヤーのコレクションを含むチーム クラスを使用すると、プレイヤー クラスはチーム名を保持するためのプロパティを持つ必要がなくなります。プレーヤーは、メンバーであるチーム クラスからチーム名を取得します。ここで、プレーヤーをデータベースに保存するには、各プレーヤー レコードにチーム名 (またはチーム ID、ただし同じこと) の列が必要です。
つまり、GetAllPlayers() メソッドが必要な場合、チーム クラスのメンバー メソッドにして、コレクション内のすべてのプレーヤーをメモリから返すか、プレーヤー クラスで静的メソッドを作成してすべてのプレーヤーを取得しますか?データベースからのプレーヤー?
これらの質問に答える方法に関するヒントはありますか?
プログラミング教室に通うのは久しぶりです。ここでの最善のアプローチを理解するための優れた教科書を知っている人はいますか?