
Intro
In het topic Vergroot OO programmeren de schaalbaarheid van software? plaatste ik een reply over reflection.
Persoonlijk vind ik dat reflection een ondergewaardeerde feature is, SmallTalk-80 bevatte al ondersteuning voor reflection evenals moderne talen zoals .NET (C#/VB) en JAVA.
Naar mijn mening zien veel programmeurs reflection als 'iets moeilijks dat zij niet nodig hebben'. Zelf dacht ik dit ook, totdat ik er een tijd geleden mee aan de slag ging. Maar nu denk ik dat reflection een erg krachtige feature is, en dat het zonde is dat deze feature (volgens mij) niet vaak genoeg gebruikt wordt.
In het zelfde topic reageerde ook Soultaker, die het volgende zij over reflection:
Hij heeft dus een heel andere mening over reflection (die ik overigens niet deel).quote: SoultakerIk vind persoonlijk reflectie een misfeature. Essentieel voor bepaalde toepassingen (RMI of serialisatie bijvoorbeeld) maar als bouwsteen voor OOP eerder schadelijk dan behulpzaam. Geen enkel gangbaar design pattern gebruikt reflectie (of noem een paar tegenvoorbeelden?)
Doel van dit topic
In dit topic wilde ik discussiëren over het nut van reflectie, waar je het zelf (niet) voor gebruikt en of je net als mij de mening deelt dat reflection wat meer in de schijnwerpers zou moeten worden gebracht.
Leesvoer
Introductie
Wikipedia: Reflection (computer science)
http://msdn.microsoft.com/en-us/library/ms173183(VS.80).aspx
http://java.sun.com/devel...lArticles/ALT/Reflection/
Design patterns:
http://msdn.microsoft.com/en-us/magazine/cc164170.aspx
http://www.vbdotnetheaven...ernUsingReflectionVB.aspx
Wikipedia: Visitor pattern (zie halverwege de details sectie)