maandag 3 december 2007

Concept-orientatie

Aleksandr Savinov heeft iets bedacht dat hij "concept-orientation" heeft genoemd. Het is in feite een abstractie van object-orientatie, waarbij de twee zaken in een object (identiteit en de instance van een class) worden losgekoppeld. (Ik baseer dit op een zeer snelle scan van dit verhaal, en ik heb het nog niet volledig doorschouwd. Maar ik ben er wel enthousiast over, en ik kan het dus niet laten om het even te posten.)

Dit lijkt op "uitbreidingen" van het OO-paradigma die ik zelf ooit heb gemaakt (vooral in relatie tot het abstraheren van multiple inheritance en het toevoegen van crosscutting concerns). En ik vind dit dus erg leuk.

Wat zijn de voordelen, zo op het eerste gezicht?
1. een betere implementatie van inheritance dan nu gangbaar is. We hebben nu de ouderwetse, op de OO-talen gebaseerde interpretatie van inheritance. Die is weliswaar vrij scherp beschreven, maar te beperkt en soms lastig te hanteren in de modellering.
Daarnaast zijn er allerhande uitbreidingen van het begrip inheritance, bv het begrip "specialisatie" in UML. Het nadeel is dat de definitie daar veel te vaag is, en voor werkelijke toepassingen gepreciseerd moet worden.
2. een mogelijke koppeling met AOP, ongeveer langs de lijnen van de "composition filters" uit Twente (Aksit, Bergmans c.s). 

En ik heb bovendien een hunch dat dit prettig mapt op het model van het Semantic Web met de URI's.

Maar ik moet erin duiken (en dat ga ik ook doen) om te kijken of dat allemaal klopt.

Geen opmerkingen: