OO in de praktijk.
Het probleem is alleen dat je op een gegeven moment al gauw teveel controllers aan het bouwen bent. Als je een website mbt films aan het maken bent krijg je bijv;
Film
- Toevoegen()
- Wijzigen()
- Verwijderen()
- Weergeven()
Films
- Weergeven()
- Zoeken()
Maar daar valt waarschijnlijk niet aan te ontkomen. Aangezien Codeigniter het ook gebruik voor de URL's, http://www.website.nl/film/weergeven/123.
Ik zit echter met het volgende, hoe moet ik, code/ontwerptechnisch iets opzetten als bijv. PHPHulp. Het heeft scripts, tutorials en boeken. Basicly is dat echter allemaal exact hetzelfde, een titel, bericht, auteur en datum/tijd.
Nou kan het vast niet zo zijn dat ik nu 3 controllers aan moet maken met in ieder controller een toevoegen/wijzigen en verwijderen-functie. Dat zou simpelweg geen hergebruik van code meer zijn toch? Kan ik niet netjes een model maken met daarin de toevoegen/wijzigen/verwijderen functie, en daar dus in iedere controller naar verwijzen?
Ik snap op zich OO prima, maar voorbeelden van een auto object aanmaken met een bepaalde kleur vertaald zich slecht in de dagelijkse praktijk.
Maar zo'n probleem is dat toch niet? In mijn ervaring is een simpele controller-method nog net geen 10 regels lang, en een uitgebreide is heel specifiek voor dat ene doel.
Een alternatief is misschien een systeem waar dat alles voor je gaat gokken, maar dat betekent dat je jezelf aan conventies bindt, en in mijn ervaring dat je code juist minder onoverzichtelijk wordt omdat het allemaal dingen zelfstandig gaat doen. En een ander alternatief is het gebruik van configuratiebestandjes, dan reduceer je de 10 regels misschien tot 5, maar is dat wel flexibel genoeg?
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
Arjan Kapteijn schreef op 25.10.2008 16:28:
...
Ik snap op zich OO prima, maar voorbeelden van een auto object aanmaken met een bepaalde kleur vertaald zich slecht in de dagelijkse praktijk.
...
Ik snap op zich OO prima, maar voorbeelden van een auto object aanmaken met een bepaalde kleur vertaald zich slecht in de dagelijkse praktijk.
...
Volledig mee eens. En ik zie dan ook graag een goede praktische voorbeeld.Want de voorbeelden nu zijn op het zelfde niveau als wanneer je de echo functie leert met "echo "Hellow world!";". Je weet hoe je het gebruikt. Maar niet dat het bv de bedoeling is om alles te echo'en.