Goedemiddag heren (en dames
),
Inleiding
Ik ben al enige tijd bezig met het leren over en beoefenen van object georiënteerd programmeren.
Binnenkort is het de bedoeling dat ik met een aantal anderen ga samenwerken aan een groot project, maar door gebrek aan real-life voorbeelden in (bijna) alle boeken vraag ik me af of ik wel op de goede weg ben en ik de boel niet ga verprutsen door het totaal verkeerd te doen.
Voorbeelden
De voorbeelden in de boeken zijn vrijwel altijd slecht.
Niet slecht van kwaliteit, hoewel sommige dat wel zijn, maar slecht qua gekozen voorbeelden.
Om een aantal voorbeelden te noemen, de klassen: auto, gebouw, hond, etc …
Als het dan om inheritance gaat krijg je vage voorbeelden als: dier->vogel, dier->kat, etc …
Komt er eens een real-life voorbeeld is het een MySQL klasse of iets dergelijks.
Vraag
Mijn vraag is dan ook het maken van een real-life klasse die een poll gaat voorstellen.
De keuze voor de poll lijkt me wel een leuke en toch niet echt ingewikkeld.
Database
Even vier simpele databasetabellen:
polls met de velden id, vraag, datum
answers met de velden id, antwoord
poll_answers met de velden poll_id, answer_id
votes met de velden id, antwoord_id, datum, ip
Uitwerking
Er komt een klasse poll die een aantal answers heeft en elk answer heeft een aantal votes.
De meesten kunnen zoiets vast wel visualiseren, dus geef ik een voorbeeld van hoe zo'n ding wordt weergegeven:
De structuur is dus (onderstreept zijn de klassen):
poll
- aantal vars
- answers
-- aantal vars
-- votes
Zouden jullie dit ook zo doen?
Of is er een veel betere manier?
De answers klasse zou op deze manier bijvoorbeeld wel 10000 klassen votes kunnen bevatten...
Inleiding
Ik ben al enige tijd bezig met het leren over en beoefenen van object georiënteerd programmeren.
Binnenkort is het de bedoeling dat ik met een aantal anderen ga samenwerken aan een groot project, maar door gebrek aan real-life voorbeelden in (bijna) alle boeken vraag ik me af of ik wel op de goede weg ben en ik de boel niet ga verprutsen door het totaal verkeerd te doen.
Voorbeelden
De voorbeelden in de boeken zijn vrijwel altijd slecht.
Niet slecht van kwaliteit, hoewel sommige dat wel zijn, maar slecht qua gekozen voorbeelden.
Om een aantal voorbeelden te noemen, de klassen: auto, gebouw, hond, etc …
Als het dan om inheritance gaat krijg je vage voorbeelden als: dier->vogel, dier->kat, etc …
Komt er eens een real-life voorbeeld is het een MySQL klasse of iets dergelijks.
Vraag
Mijn vraag is dan ook het maken van een real-life klasse die een poll gaat voorstellen.
De keuze voor de poll lijkt me wel een leuke en toch niet echt ingewikkeld.
Database
Even vier simpele databasetabellen:
polls met de velden id, vraag, datum
answers met de velden id, antwoord
poll_answers met de velden poll_id, answer_id
votes met de velden id, antwoord_id, datum, ip
Uitwerking
Er komt een klasse poll die een aantal answers heeft en elk answer heeft een aantal votes.
De meesten kunnen zoiets vast wel visualiseren, dus geef ik een voorbeeld van hoe zo'n ding wordt weergegeven:
PHP:
1
2
3
4
5
6
7
| $poll = new Poll($id); echo '<h1>' . $poll->getQuestion() . '</h1>'; echo '<ul>'; foreach( $poll->getAnswers() as $answer ) // echo $answer roept ofc. de toString() function aan :) echo '<li>' . $answer . '(' . $answer->countVotes() . ')</li>'; echo '</ul>'; |
De structuur is dus (onderstreept zijn de klassen):
poll
- aantal vars
- answers
-- aantal vars
-- votes
Zouden jullie dit ook zo doen?
Of is er een veel betere manier?
De answers klasse zou op deze manier bijvoorbeeld wel 10000 klassen votes kunnen bevatten...