Hi All,
Ik heb een vraagje voor wat betreft het gebruik van een versienummer bij het updaten van variabelen.
Situatie:
Stel je hebt een variabel A van een klasse, welke in een instantie zit van X.
Er zijn verschillende instanties van een andere klasse (bijv. Z Y) die gebruik maken van X.
Deze andere klasse (Z Y) voeren wat spannende rekenkunstjes uit met waarde A uit X en vullen hiermee een aantal eigenschappen van zichzelf.
Indien waarde A van X aangepast wordt door een andere instantie (wat niet van te voren is in te schatten) dan zullen Z en Y hun berekening opnieuw moeten uitvoeren en intern zaken updaten.
Probleem:
Omdat het hier om vrij grote variabelen gaat, die als gevolg een hoop geheugen gebruiken, is het belangrijk dat hiermee zuinig moet worden omgegaan.
Ik kan dus niet simpel zeggen van: if (this.mijnA == X.A) { Goed. } else { Fout } omdat ik dan voor elke instantie een kopie moet hebben als vergelijk materiaal. Dit zal een hoop geheugen/snelheid kosten en misschien zelfs de applicatie onwerkbaar maken.
De oplossing waar ik tot nu toe mee genomen was, is het gebruik maken van een versienummer van A in X. Op deze manier kan snel worden gezien of er een update noodzakelijk is.
Vraag:
Ik heb een vraagje voor wat betreft het gebruik van een versienummer bij het updaten van variabelen.
Situatie:
Stel je hebt een variabel A van een klasse, welke in een instantie zit van X.
Er zijn verschillende instanties van een andere klasse (bijv. Z Y) die gebruik maken van X.
Deze andere klasse (Z Y) voeren wat spannende rekenkunstjes uit met waarde A uit X en vullen hiermee een aantal eigenschappen van zichzelf.
Indien waarde A van X aangepast wordt door een andere instantie (wat niet van te voren is in te schatten) dan zullen Z en Y hun berekening opnieuw moeten uitvoeren en intern zaken updaten.
Probleem:
Omdat het hier om vrij grote variabelen gaat, die als gevolg een hoop geheugen gebruiken, is het belangrijk dat hiermee zuinig moet worden omgegaan.
Ik kan dus niet simpel zeggen van: if (this.mijnA == X.A) { Goed. } else { Fout } omdat ik dan voor elke instantie een kopie moet hebben als vergelijk materiaal. Dit zal een hoop geheugen/snelheid kosten en misschien zelfs de applicatie onwerkbaar maken.
De oplossing waar ik tot nu toe mee genomen was, is het gebruik maken van een versienummer van A in X. Op deze manier kan snel worden gezien of er een update noodzakelijk is.
Vraag:
- Heeft iemand een idee hoe dit technisch heet? (het gebruik van versie nummers om een update van variabelen aan te geven, dit praat in iedergeval een stuk makkelijker)
- Persoonlijk vind ik dit niet de meest elegante oplossing voor het probleem, heeft iemand voor mij een suggestie voor een betere oplossing? Het blijft naar mijn idee nog een beetje quick/dirty.
Asus A7V266, AMD XP 2400+ met 1024 DDR en een 350 GB Harddisk