Inmiddels ben ik al een aardige tijd (paar weken) aan het werken aan een factuursysteem, en deze probeer ik zo 'juist mogelijk' te maken. Dus gebruik van OOP en zo logisch mogelijke code. Echter loop ik nu vast omdat ik niet goed weet wat ik hiermee moet. Ook in mijn boeken (ook van Java) kan ik geen goed idee ervan krijgen.
Bijvoorbeeld:
Ik heb een object $order van klasse 'order' die onder andere de gegevens heeft van een 'relatie' (= klant), en diverse objecten van 'product'. Vervolgens kan ik bijvoorbeeld met de volgende acties gegevens krijgen:
Objecten initialiseer ik door het ID door te geven. Een object bevat standaard dan ook alleen het ID. Zodra een gegeven uit dit object opgevraagd of gewijzigd wordt, worden alle gegevens uit de database (met behulp van mijn SQL connectie-klasse) opgehaald.
Voorbeelden van mijn objecten: relatie, order en product, maar ook bijv. naam, adres, telefoonnummer etc.
Maar, wat ik nu als probleem zie: stel, ik laat een lijst maken van alle orders en laat hier iedere keer het ordernummer melden. Dan gaat hij al die ordernummers opnoemen, maar dus ook heel veel objecten met gegevens 'invullen', zo ook heel veel losse SQL commando's sturen om alle gegevens op te vragen.
Dit leidt tot relatief veel geheugengebruik, en veel databaseconnecties.
Een ander (gelijk soort) voorbeeld is een optelling van de jaaromzet (dus combinatie van alle factuurbedragen). Dit leidt dan ook tot gigantisch veel SQL-commando's en geheugengebruik, omdat heel veel gegevens opgehaald gaan worden.
Wat wordt er van mij verwacht om dit zo logisch/juist mogelijk te doen? Gebruik ik de OOP juist?
Bijvoorbeeld:
Ik heb een object $order van klasse 'order' die onder andere de gegevens heeft van een 'relatie' (= klant), en diverse objecten van 'product'. Vervolgens kan ik bijvoorbeeld met de volgende acties gegevens krijgen:
PHP:
1
2
| $order->relatie->volledige_naam; //bijv. "Pieter Vergiet" $order->product(5)->prijs; //bijv. 500 cent (= 5 euro) |
Objecten initialiseer ik door het ID door te geven. Een object bevat standaard dan ook alleen het ID. Zodra een gegeven uit dit object opgevraagd of gewijzigd wordt, worden alle gegevens uit de database (met behulp van mijn SQL connectie-klasse) opgehaald.
Voorbeelden van mijn objecten: relatie, order en product, maar ook bijv. naam, adres, telefoonnummer etc.
Maar, wat ik nu als probleem zie: stel, ik laat een lijst maken van alle orders en laat hier iedere keer het ordernummer melden. Dan gaat hij al die ordernummers opnoemen, maar dus ook heel veel objecten met gegevens 'invullen', zo ook heel veel losse SQL commando's sturen om alle gegevens op te vragen.
Dit leidt tot relatief veel geheugengebruik, en veel databaseconnecties.
Een ander (gelijk soort) voorbeeld is een optelling van de jaaromzet (dus combinatie van alle factuurbedragen). Dit leidt dan ook tot gigantisch veel SQL-commando's en geheugengebruik, omdat heel veel gegevens opgehaald gaan worden.
Wat wordt er van mij verwacht om dit zo logisch/juist mogelijk te doen? Gebruik ik de OOP juist?
[ Voor 3% gewijzigd door vmsw op 07-02-2010 14:11 ]