Ik hoop dat ik dit onderwerp enigsizns duidelijk weet uit te leggen...
het gaat om het volgende: veel moderne talen laten het gebruik van events toe. in sommige gevallen is het overduidelijk wanneer events 'the way to go' zijn. Bijvoorbeeld in gui's. zelf gebruik ik ze echter niet zo vaak en kies ik voor een andere oplossing: een collectie met objecten die ik dan langsloop om een specifieke functie aan te roepen.
Om een voorbeeld te geven: ik heb in een toepassing een script mogelijkheid ingebouwd. dit project is in c#. een vereiste voor deze scripts is dat ze een run() functie hebben. je zou door middel van events dit kunnen afhandelen. ik heb er echter voor gekozen om ieder script (wat in feite gewoon een object is) te 'registreren' bij een script-host, wat inhoudt dat hij ze toevoegt aan de collectie. als het juiste moment daar is loopt de host de collectie af en roept van ieder object de run() functie aan.
nou geloof ik dat events nogal wat overhead opleveren (correct me if i'm wrong) dat is dus in dit geval een voordeel voor mijn methode. het nadeel van mijn methode is dat je moet gaan zitten boekhouden: je moet zelf bijhouden wanneer een script weggegooid moet worden.
ik heb hier een paar vragen over:
a) is mijn methode fout? zo ja, hou zouden jullie het doen?
b) wanneer is het wel slim om events te gebruiken?
het gaat om het volgende: veel moderne talen laten het gebruik van events toe. in sommige gevallen is het overduidelijk wanneer events 'the way to go' zijn. Bijvoorbeeld in gui's. zelf gebruik ik ze echter niet zo vaak en kies ik voor een andere oplossing: een collectie met objecten die ik dan langsloop om een specifieke functie aan te roepen.
Om een voorbeeld te geven: ik heb in een toepassing een script mogelijkheid ingebouwd. dit project is in c#. een vereiste voor deze scripts is dat ze een run() functie hebben. je zou door middel van events dit kunnen afhandelen. ik heb er echter voor gekozen om ieder script (wat in feite gewoon een object is) te 'registreren' bij een script-host, wat inhoudt dat hij ze toevoegt aan de collectie. als het juiste moment daar is loopt de host de collectie af en roept van ieder object de run() functie aan.
nou geloof ik dat events nogal wat overhead opleveren (correct me if i'm wrong) dat is dus in dit geval een voordeel voor mijn methode. het nadeel van mijn methode is dat je moet gaan zitten boekhouden: je moet zelf bijhouden wanneer een script weggegooid moet worden.
ik heb hier een paar vragen over:
a) is mijn methode fout? zo ja, hou zouden jullie het doen?
b) wanneer is het wel slim om events te gebruiken?