Klinkt redelijk van wat je hebt beschreven, hoewel de echte test zal komen als je het serieus gaat uitbreiden.
Ik bouw meestal een kern van drie klassen:
- een database-handler
- een algemene object-handler
- een generieke verzamelingsbehandelaar
Elke tabel krijgt er een die is afgeleid van de objectklasse om één rij in de tabel weer te geven, en een klasse die is afgeleid van de verzameling die een deel of de hele tabel vertegenwoordigt en individuele objecten retourneert zoals gevraagd. Er is ook een statische "registratie"-functie om alle benodigde informatie (tabelnaam, geldige velden, enz.) eenmalig voor elke klas in te stellen.
Soms is een collectieklasse ook een object voor een andere tabel. De generieke objecten en het registratiemechanisme dat ik eeuwen geleden schreef, gaan hier naadloos mee om.