Hello,
Ik loop met het ontwerpen van een stukje OOP applicatie tegen een aantal keuzes op, hopelijk kan iemand mij wat inzicht geven.
( data is puur voorbeeld, images zijn gemaakt zonder de juiste pijlen etc )
Wat heb ik / zou ik maken / heb ik in gedachten
een pagina, met 5 klassen :

Nu, pagina gaat fijn het object klant en factuur aanmaken, de stappen 1-8 worden dus doorlopen:

Na stap 4, is er dus 1 instantie van 'regel-neef' met daaraan 'sql' en 'template'.
Als daarna stap 5-8 wordt uitgevoerd, wordt 'regel-neef' met daaraan 'sql' en 'template' nogmaals aangemaakt ( lijkt mij iig ).
dus punt 1) ik laad klassen meerdere keren in
en punt 2) stel ik heb in de klasse SQL een verbinding opgezet, wordt deze ook meerdere keren verbonden.
Het dubbele van 'regel-neef' met daaraan 'sql' en 'template' kan ik oplossen door 'regel-neef' singleton te maken, zodat deze niet dubbel aangemaakt wordt, maar wel dus gebruikt kan worden, zowel in de klasse klant als de klasse factuur.
Dit is denk ik, niet de juiste oplossing, want je krijgt heel veel klassen die dus de 'regel-neef' klasse extenden om overal de functionaliteit die hij biedt te hebben.
Wat dacht ik verder
Laat de pagina van elke klasse die nodig is een object aanmaken:

Dit is logisch, ja, maar ik loop tegen het volgende aan:
hoe laat ik de klassen klant en factuur nu gebruik maken van de SQL klasse, en dus die verbinding?
het voelt niet lekker om bij het constructen van de klasse klant de parameter $sql->connection mee te geven, zodat klant weet waar hijzelf de queries op moet uitvoeren.
Wellicht moet ik iets verder gaan, en met een MVC gaan werken?
hints zijn dan welkom.
laatste gedacht
Een facade klasse die alles regelt, zoals hier staat:
http://nl.wikipedia.org/wiki/Fa%C3%A7ade_(informatica)
Afin, hopelijk heeft iemand hier meer kijk op.
Thanks!
[edit-tje] Verkeerde forum, wellicht een schopje naar SE & A ?
Ik loop met het ontwerpen van een stukje OOP applicatie tegen een aantal keuzes op, hopelijk kan iemand mij wat inzicht geven.
( data is puur voorbeeld, images zijn gemaakt zonder de juiste pijlen etc )
Wat heb ik / zou ik maken / heb ik in gedachten
een pagina, met 5 klassen :

Nu, pagina gaat fijn het object klant en factuur aanmaken, de stappen 1-8 worden dus doorlopen:

Na stap 4, is er dus 1 instantie van 'regel-neef' met daaraan 'sql' en 'template'.
Als daarna stap 5-8 wordt uitgevoerd, wordt 'regel-neef' met daaraan 'sql' en 'template' nogmaals aangemaakt ( lijkt mij iig ).
dus punt 1) ik laad klassen meerdere keren in
en punt 2) stel ik heb in de klasse SQL een verbinding opgezet, wordt deze ook meerdere keren verbonden.
Het dubbele van 'regel-neef' met daaraan 'sql' en 'template' kan ik oplossen door 'regel-neef' singleton te maken, zodat deze niet dubbel aangemaakt wordt, maar wel dus gebruikt kan worden, zowel in de klasse klant als de klasse factuur.
Dit is denk ik, niet de juiste oplossing, want je krijgt heel veel klassen die dus de 'regel-neef' klasse extenden om overal de functionaliteit die hij biedt te hebben.
Wat dacht ik verder
Laat de pagina van elke klasse die nodig is een object aanmaken:

Dit is logisch, ja, maar ik loop tegen het volgende aan:
hoe laat ik de klassen klant en factuur nu gebruik maken van de SQL klasse, en dus die verbinding?
het voelt niet lekker om bij het constructen van de klasse klant de parameter $sql->connection mee te geven, zodat klant weet waar hijzelf de queries op moet uitvoeren.
Wellicht moet ik iets verder gaan, en met een MVC gaan werken?
hints zijn dan welkom.
laatste gedacht
Een facade klasse die alles regelt, zoals hier staat:
http://nl.wikipedia.org/wiki/Fa%C3%A7ade_(informatica)
Afin, hopelijk heeft iemand hier meer kijk op.
Thanks!
[edit-tje] Verkeerde forum, wellicht een schopje naar SE & A ?
