OO

Objectgeoriënteerd, vaak afgekort tot OO als afkorting voor het Engelse Object-oriented, is een denkpatroon dat gebruikt wordt bij het objectgeoriënteerd programmeren en de objectgeoriënteerde opslag van data. Bij deze benadering wordt een systeem opgebouwd uit objecten.
Eenvoudig gezegd bestaat een object uit bepaalde gegevens en de programmatuur die gebruikt wordt om die gegevens te verwerken. Bij voorkeur zijn die gegevens uitsluitend te benaderen via de bijbehorende programmatuur. Een bestand kan bijvoorbeeld als object worden gedefinieerd, waarbij de gebruiker van het object slechts lees- en schrijfopdrachten kan geven, en interne gegevens zoals de “handle” van het bestand aan het zicht worden onttrokken. Kenmerkend voor objecten is ook dat zij in een hiërarchisch verband tot elkaar kunnen staan: zo is een invoerbestand een soort van bestand.

Objectgeoriënteerd programmeren biedt niet de mogelijkheid om een nieuw soort toepassingen te implementeren. Het dient uitsluitend om programma’s beter te structureren, met het oog op de overzichtelijkheid, herbruikbaarheid van componenten, e.d. In dat opzicht is het een logische volgende stap na de opkomst van “go-to-less”-programmeren en modulair programmeren enkele decennia eerder.
Het objectgeoriënteerde paradigma kende een opmars in het begin van de jaren 90. Vele talen ondersteunen tegenwoordig objectgeoriënteerd programmeren.

Belangrijke voorzieningen in het objectgeoriënteerd programmeren zijn:
• Informatie verbergen: het kunnen verbergen van de interne werking van objecten, waarmee modulariteit afdwingbaar wordt.
• Modulariteit: programma’s bestaan uit onderdelen die onafhankelijk kunnen worden aangepast zolang hun interface hetzelfde kan blijven; zo kan programmatuur gemakkelijker hergebruikt en uitgebreid worden.
• Overerving: de definitie van een klasse als een uitbreiding of aanpassing van een andere klasse.
• Polymorfisme: bij het aanroepen van een functie kan gekozen worden uit verschillende implementaties, vaak pas tijdens programmauitvoering.

MVC

MVC
Model-view-controller (of MVC) is een ontwerppatroon (“design pattern”) dat het ontwerp van complexe toepassingen opdeelt in drie eenheden met verschillende verantwoordelijkheden: datamodel (model), datapresentatie (view) en applicatielogica (controller). Het scheiden van deze verantwoordelijkheden bevordert de leesbaarheid en herbruikbaarheid van code. Het maakt ook dat bijvoorbeeld veranderingen in de gebruikersinterface niet direct invloed hebben op het datamodel en vice versa.