OO
Home

OO

OO

Langzaam maar zeker beginnen er steeds meer ontwikkelaars object-georiënteerd te programmeren. In veel programmeertalen, Java bijvoorbeeld en C#, kan je niet anders.
Maar wat is nu eigenlijk het grote voordeel van objectgeoriënteerd programmeren?

Herbruikbaarheid van code

Objecten, die niet of weinig afhankelijk zijn van andere objecten, kan je zonder veel moeite uit één applicatie te plukken en hergebruiken in een nieuwe applicatie.

Een duidelijke indeling van de code

C#

Theorie

Een OO programma maken in C#

Oefeningen

OO code schrijven

Filmpjes

Oefening Voorbeelden uitproberen uit Werken met gegevens

PHP

Een duidelijke indeling geeft een goed overzicht en is gewoon veel toegankelijker voor jezelf en voor andere programmeurs. Door de duidelijke indeling kun je sneller wegwijs worden in de (hoofdlijnen) van de applicatie. Door goede namespace-, klasse-, methode- en eigenschapnamen te kiezen moet je de achterliggende code niet meer lezen om te weten wat ze doet.

Gekoppeld aan analyse

Code die procedureel is geschreven is geschreven naar functionaliteit, of beter gezegd, naar een handeling of use case. Zo'n use case is bijvoorbeeld: het verwijderen van een bericht op een forum door een moderator. De code zal dan in grote lijnen het volgende doen:

Wanneer je OO (objectgeoriënteerd) programmeert kun je de afhankelijkheden van elkaar scheiden. Je kunt een module (klasse) maken die de autorisatie op zich neemt voor alle mogelijkheden in de applicatie, waardoor je dit allemaal op een centrale plek krijgt. Ook kun je het feitelijke sturen van een bericht loskoppelen van het verwijderen van een bericht op het forum.

Case study

Mikmak verkennend gesprek

MikMak functionele vereisten

Mikmak use cases PostalCodes

Mikmak domein model

Testbare code

Iedereen die met procedurele code werkt weet hoe lastig het is om die code goed te testen. Meestal wordt er een testscenario opgesteld met handelingen die op de website moeten worden uitgevoerd en de verwachte resultaten die daarop horen terug te komen. Na elke wijziging moet het hele scenario opnieuw worden afgelopen en omdat dat zo'n berg werk is worden de tests vaak rommelig uitgevoerd waardoor je uiteindelijk nog niet weet of alles klopt.

Als je OO programmeert kun je er voor kiezen unit tests te schrijven. Met unittests worden de afzonderlijke classes en methods van de classes getest om te zien of ze doen wat ze moeten doen. Immers; als alle onderdelen doen wat ze moeten doen dan doet het geheel ook wat het moet doen. Bijkomende voordelen hiervan zijn dat je per onderdeel een foutrapportage krijgt en dus eigenlijk meteen weet in welk onderdeel de fout zit, en dat de tests helemaal automatisch kunnen worden uitgevoerd. Aanzetten, koffie halen, rapport lezen.

Zeker wanneer je een applicatie schrijft die in een later staduim nog moet worden kunnen aan gepast, is unittesten erg interessant. Alles dat je ooit hebt bedacht om te testen kun je met een druk op de knop opnieuw testen. Unittesting maakt ook testdriven development mogelijk, maar dat valt buiten dit artikel.

Toegankelijkheid

Conclusie

Misschien lijkt het nutteloos om je code OO te schrijven, omdat het in eerste instantie meer werk lijkt. Dat is echter niet het geval. Wanneer je goed met je code omgaat, zullen er minder bugs in zitten, is het beter herbruikbaar en beter aan te passen.

Er is nog wel één probleem: niemand leert van vandaag op morgen goede OO code te schrijven. Je moet er dus wel tijd in steken voordat je er profijt van kunt hebben, maar als je objectgeoriënteerd hebt leren programmeren is er één garantie: je wilt nooit meer terug naar de oude manier van programma’s of webapplicaties schrijven.

Bronnen

Waarom object georiënteerd programmeren?

JI
2015-10-12 11:47:56