Tach!
Wieso nicht? Begründung? Wo denn sonst sollen die Daten von Kunden (Name, Str, PLZ, Ort ..) gespeichert sein? Und warum sollte man OOP nicht sinnvoll dazu nutzen einen Kunden zur Instanz der Klasse Kunden zu machen?
Das wurde ja nicht abgesprochen. Nur wie die Kundenklasse im Falle des Repository-mit-POxO-Modells und im Falle von Active Record aussieht, das ist der wesentliche Unterschied.
Warum nicht mit persistenten Eigenschaften die ein Konstruktor aus einer DB liest?
Dinge materialisieren sich nicht von selbst. Man kann natürlich nach dem Active-Record-Prinzip arbeiten und hat dann schwergewichtige Objekte, die neben ihren eigentlichen Daten auch noch das Datenbankhandling mit sich rumschleppen. Im Gegensatz dazu gibt es die getrennte Vorgehensweise. Datenobjekte haben nicht mehr als ihre eigentlichen Eigenschaften. Zusätzlich kann man ihnen auch noch weitere Eigenschaften (beispielsweise berechnete) und auch Methoden geben, aber die sollten sich auf das Datenobjekt selbst beziehen und nicht Aufgaben der Umgebung erfüllen. Kleinere Einheiten lassen sich leichter testen und verwalten als eierlegende Wollmilchsäue.
dedlfix.