Opinie

Het keurslijf van het lagenmodel

Erik Philippus
Leestijd: 3 minuten

Abstractie ligt aan de basis van architectuur. Kenmerkend voor abstraheren is het verbergen van systeemdetails door middel van encapsulatie, waardoor we de gewenste systeemeigenschappen kunnen identificeren, specificeren en borgen. Abstraheren is daarnaast een noodzakelijk proces om vanuit individuele gevallen te komen tot algemeen geldende principes.

Een van oudsher veel toegepast principe is de gelaagde architectuur, waarbij we systeemgedrag verdelen over verschillende abstractieniveaus. Deze gelaagdheid is een structurerend mechanisme op logisch niveau, maar niet zelden ook een representatie van (een deel van) de fysieke infrastructuur. Een bekend voorbeeld is de hardwareabstractielaag (Hal), bedoeld om hardwareverschillen af te schermen van de software. De meeste besturingssystemen hebben een Hal ingebouwd, zodat dezelfde kernelcode te gebruiken is voor verschillende hardwareconfiguraties. Maar ook het softwaresysteem zelf is vaak gepartitioneerd in diverse lagen, als het goed is ieder met een specifieke functionaliteit en eigen verantwoordelijkheid.

Deze opdeling in verschillende lagen is eigenlijk een veralgemenisering van het streven naar loose coupling en high cohesion, om softwaremodules op een hoger niveau van inzetbaarheid en uitbreidbaarheid te brengen. De hierbij toegepaste heuristiek is de wet van Demeter: praat alleen met je directe buren. Demeter was de Griekse godin van de landbouw, maar ging zich ook bemoeien met de burgerlijke orde toen mensen zich door de invoer van de landbouw vast gingen vestigen. Volgens haar wet dient een softwaremodule minimale kennis te hebben over de structuur of eigenschappen van andere elementen. In een gelaagde architectuur betekent dit dat software in een specifieke laag alleen toegang heeft tot de daaronder gelegen laag. Om de doelstelling van hogere adaptiviteit en onderhoudbaarheid waar te maken, moeten we layer skipping zo veel mogelijk voorkomen.

This article is exclusively available to premium members of Bits&Chips. Already a premium member? Please log in. Not yet a premium member? Become one and enjoy all the benefits.

Login

Related content