OOP (discussie, geen vraag)
Ik zag net de nieuwe poll staan over OOP en het stemmen valt me wat op.
enkele punten die ik graag zou bespreken hier zijn:
- waarom OOP (Object Oriented Programming)? (waarom PP(Procedural Programming?)
- voor- / nadelen?
- gebruik jij het?
ikzelf bijt hier dan maar de spits af en zeg:
OOP is super handig qua hergebruik van bepaalde zaken in een script, het is ook zo dat als je iets moet aanpassen dat je dan niet door al je scripts moet gaan zoeken maar je gewoon 1 aanpassing doet en klaar...MAAR OOP¨is niet altijd goed, soms is het gewoon beter om PP te gebruiken, zo bespaar je soms heel wat (denk)tijd en OOP werkt trager dan PP.
Ikzelf gebruik OOP en ik gebruik het graag, het is een hele opruim minder in mijn scripts, alles is duidelijker...hoewel ik me soms betrap op het niet effectief gebruiken ervan en soms grijp ik natuurlijk weer even terug naar PP...
en jullie?
enkele punten die ik graag zou bespreken hier zijn:
- waarom OOP (Object Oriented Programming)? (waarom PP(Procedural Programming?)
- voor- / nadelen?
- gebruik jij het?
ikzelf bijt hier dan maar de spits af en zeg:
OOP is super handig qua hergebruik van bepaalde zaken in een script, het is ook zo dat als je iets moet aanpassen dat je dan niet door al je scripts moet gaan zoeken maar je gewoon 1 aanpassing doet en klaar...MAAR OOP¨is niet altijd goed, soms is het gewoon beter om PP te gebruiken, zo bespaar je soms heel wat (denk)tijd en OOP werkt trager dan PP.
Ikzelf gebruik OOP en ik gebruik het graag, het is een hele opruim minder in mijn scripts, alles is duidelijker...hoewel ik me soms betrap op het niet effectief gebruiken ervan en soms grijp ik natuurlijk weer even terug naar PP...
en jullie?
Gesponsorde koppelingen:
OOP is inderdaad leuk, maar ik denk dat je ervoor moet waken het niet te gebruiken "om het maar te gebruiken". OOP moet nuttig zijn in je applicatie, iets toevoegen, het overzichtelijker maken. Dat zal vaak zo zijn bij grotere applicaties die schaalbaar moeten zijn. Procedureel programmeren is nog altijd handig voor kleine, snelle oplossingen. OOP kán dus zeker makkelijk zijn, maar het kan zaken ook onnodig ingewikkeld maken (alhoewel dat voor sommigen ook wel weer handig is, zo blijven sommigen zichzelf werk verschaffen (job security)).
Tikkes schreef op 28.01.2009 22:32:
OOP is ongelofelijk handig, ik gebruik voor de meeste dingen OOP en wil echt niet meer terug. Als je het eenmaal kan is de opbouw van het kleine stukje code dat je dan nog overhebt ook heel duidelijk, bijv:- waarom OOP (Object Oriented Programming)? (waarom PP(Procedural Programming?)
Code (php)
i.p.v. dat je alles in 1 bestand hebt staan.
Tikkes schreef op 28.01.2009 22:32:
- voor- / nadelen?
Herbruiken.
Tikkes schreef op 28.01.2009 22:32:
- gebruik jij het?
Oui.
Ik gebruik het om overzicht te houden, en omdat het m'n script makkelijk uit te breiden en makkelijk om te herschrijven maakt wat ik graag doe (vooral het uitbreiden, en soms het herordenen zodat het beter uit te breiden is)
Ik gebruik het dan ook wel eigenlijk altijd, ook voor kleine dingetjes om de bovengenoemde redenen. Vooral het overzicht. Ik vind een array vol objecten toch altijd veel prettiger, veel mooier dan een multidimensionale array. (maar ik gebruik ook nog wel gewoon functies wanneer het om iets dat geen 'state' of eigenschappen heeft)
... en misschien doe ik het wel gewoon omdat ik het uitdenken en indelen van de objecten, en de communicatie ertussen uitdenken, de semantiek in de code brengen, waarbij variabelen werkelijk bevatten wat hun naam noemt, waar functies doen wat je denkt dat ze doen en dat op een simpele manier doen, gewoon leuk vind :D
Als ik OO programmeer, dan doe ik het het liefst niet zoals ze dat doen in bijvoorbeeld Zend Framework. Mijn objecten doen slechts wat ze moeten doen, zo simpel en logisch mogelijk. Net als met structureel programmeren eigenlijk. Alleen doen wat je nodig hebt
Ik gebruik het dan ook wel eigenlijk altijd, ook voor kleine dingetjes om de bovengenoemde redenen. Vooral het overzicht. Ik vind een array vol objecten toch altijd veel prettiger, veel mooier dan een multidimensionale array. (maar ik gebruik ook nog wel gewoon functies wanneer het om iets dat geen 'state' of eigenschappen heeft)
... en misschien doe ik het wel gewoon omdat ik het uitdenken en indelen van de objecten, en de communicatie ertussen uitdenken, de semantiek in de code brengen, waarbij variabelen werkelijk bevatten wat hun naam noemt, waar functies doen wat je denkt dat ze doen en dat op een simpele manier doen, gewoon leuk vind :D
Als ik OO programmeer, dan doe ik het het liefst niet zoals ze dat doen in bijvoorbeeld Zend Framework. Mijn objecten doen slechts wat ze moeten doen, zo simpel en logisch mogelijk. Net als met structureel programmeren eigenlijk. Alleen doen wat je nodig hebt
Gewijzigd op 01/01/1970 01:00:00 door Jelmer rrrr
Quote:
- waarom OOP (Object Oriented Programming)? (waarom PP(Procedural Programming?)
- voor- / nadelen?
- gebruik jij het?
- voor- / nadelen?
- gebruik jij het?
OOP
Zoals Kasper het al zei; je moet OOP niet gebruiken om maar OOP te hebben. Als je een klein inlog systeem gebruik, of een klein nieuwssysteem, is het gebruik van OOP nutteloos. Ga je naar grotere en gecompliceerdere systemen is het hergebruiken van functies e.d. makkelijker. Classes zijn overzichtelijker dan verschillende bestanden vol met functies. Ook het kunnen uitbreiden van classes e.d. is ongelooflijk handig.
Ik gebruik OOP, tenzij ik on-the-fly dingen maak. Dan is het "even snel maken" van een paar functies makkelijker, en sneller, dan het inladen van grote classes e.d.
@Jelmer: Wat vind jij dat de objecten van het Zend Framework doen, terwijl ze het eigenlijk niet zouden moeten doen? Oke, een hoop dingen zul je misschien niet gebruiken, maar die worden dan ook niet ingeladen, en al die mogelijkheden geven wel hele grote controle over je applicatie. Als je iets wilt veranderen kan dat in ZF ook zonder meer. Dat is ook juist de kracht van OOP. Dingen zoveel mogelijk opbouwen zodat ze overal inzetbaar zijn. Ik zeg niet dat het hele ZF perfect is, maar de doelen die ze nastreven vind ik toch heel aardig.
Voor kleine projecten gebruik ik ook gewoon OOP. Als jij een simpel inlogsysteem moet maken voor een klant, en je doet dat procedureel, dan werkt alles misschien wel, maar als de klant daar vervolgens allerlei dingen aan wil koppelen moet jij of doorgaan met je procedurele systeem of je inlogsysteem toch nog objectgeoriënteerd schrijven.
Bovendien weet ik niet eens zeker of het wel langer duurt om een OO inlogsysteem te schrijven dan dat procedureel te doen. Bij een OO-systeem heb je waarschijnlijk al een heleboel ondersteuningsklasses klaarliggen en hoef je de boel alleen nog in een MVC structuur aan elkaar te breien. En dat is met een framework (zelf gemaakt of niet) helemaal niet zo gek veel werkt.
Als je het procedureel doet, is hergebruiken gewoon veel moeilijker en moet je het hele systeem eigenlijk from scratch gaan schrijven...
Ik gebruik alleen geen OOP als ik ingewikkelde wiskundige 1 op 1 berekeningen moet doen. Dan bedenk ik meestal eerst die logica, gooi dat eventueel in een paar functies, en ga dan later pas nadenken hoe dat op een logische manier in een (set van) klasse(s) kan worden gevat. Anders ben je teveel bezig met het bedenken van de structuur van je applicatie, die je daarna weer helemaal moet omgooien als je bedenkt dat je rekenlogica toch weer helemaal anders moet...
Voor kleine projecten gebruik ik ook gewoon OOP. Als jij een simpel inlogsysteem moet maken voor een klant, en je doet dat procedureel, dan werkt alles misschien wel, maar als de klant daar vervolgens allerlei dingen aan wil koppelen moet jij of doorgaan met je procedurele systeem of je inlogsysteem toch nog objectgeoriënteerd schrijven.
Bovendien weet ik niet eens zeker of het wel langer duurt om een OO inlogsysteem te schrijven dan dat procedureel te doen. Bij een OO-systeem heb je waarschijnlijk al een heleboel ondersteuningsklasses klaarliggen en hoef je de boel alleen nog in een MVC structuur aan elkaar te breien. En dat is met een framework (zelf gemaakt of niet) helemaal niet zo gek veel werkt.
Als je het procedureel doet, is hergebruiken gewoon veel moeilijker en moet je het hele systeem eigenlijk from scratch gaan schrijven...
Ik gebruik alleen geen OOP als ik ingewikkelde wiskundige 1 op 1 berekeningen moet doen. Dan bedenk ik meestal eerst die logica, gooi dat eventueel in een paar functies, en ga dan later pas nadenken hoe dat op een logische manier in een (set van) klasse(s) kan worden gevat. Anders ben je teveel bezig met het bedenken van de structuur van je applicatie, die je daarna weer helemaal moet omgooien als je bedenkt dat je rekenlogica toch weer helemaal anders moet...



