クラス間の関係を明確に表現するのに役立つなどの理由から、これは良い習慣だと思いました。ただし、このWebサイトによると、そうではありません:
http://www.tonymarston.net/php-mysql/good-bad-oop.html#a5
では、データベース テーブルごとにクラスを用意することは、良い OO プラクティスでしょうか?
クラス間の関係を明確に表現するのに役立つなどの理由から、これは良い習慣だと思いました。ただし、このWebサイトによると、そうではありません:
http://www.tonymarston.net/php-mysql/good-bad-oop.html#a5
では、データベース テーブルごとにクラスを用意することは、良い OO プラクティスでしょうか?
序文の記事を簡単に読むと、これらの点は、著者が書いた別の記事に対する「苦情」と言われています。著者は、テーブルごとのクラスが良いアプローチであると実際に言っており、その理由を説明して、「このコードは DB とクラスの間の問題のある依存関係につながる」などの発言に対してそれを擁護していると思います。
クラスごとにテーブルを用意することは確かに出発点として適していますが、他のパターンと同様に、必ずしもすべての状況で必要になるとは限りません。たとえば、おそらく 1 つのクラスだけで多数の異なるジャンクション テーブルの相互作用を処理できるジャンクション テーブルです。同様に、1 対 1 の関係を持つテーブルを、1 つのクラスとしてプログラムに適合させることもできます。