Beste mensen, ik ga een desktop-applicatie in Adobe Air maken die zoveel mogelijk OOP is. Nu heb ik een aantal vragen met betrekking tot "Events".
Stel je hebt een klasse "User" die een login functie heeft, dan zou je dit willen doen:
Maar dat kan niet omdat Login geen waarde kan returnen, omdat data van een server ophalen een asynchrone handeling is.
De enige manier zou je zeggen, is dit:
Dit betekend dat de klasse user, afhankelijk is van de klasse toepassing (iets wat je helemaal niet wilt),
En bij een groot programma wordt bijna alles afhankelijk van elkaar..
Kan dit niet op een andere manier? Is hier uberhaubt wel een nette manier voor of zit ik helemaal verkeerd te denken?
Weet iemand hoe dit in grote projecten wordt aangepakt? http://www.adobe.com/products/air/showcase/
Stel je hebt een klasse "User" die een login functie heeft, dan zou je dit willen doen:
code:
1
2
3
4
5
6
7
8
| class toepassing { public function toepassing() { U = new User(); if(U.Login(username, password)) { //doeiets } } } |
Maar dat kan niet omdat Login geen waarde kan returnen, omdat data van een server ophalen een asynchrone handeling is.
De enige manier zou je zeggen, is dit:
code:
1
2
3
4
5
6
7
8
9
10
| public class User { public function Login(a,b) { //stuur data naar server en verkrijg data //op het moment (event) dat je al het data van de server hebt gekregen, doe dan functie complete } public function Complete() { //roep een functie van de klasse toepassing aan met als parameter een boolean of het inloggen gelukt is of niet. } } |
Dit betekend dat de klasse user, afhankelijk is van de klasse toepassing (iets wat je helemaal niet wilt),
En bij een groot programma wordt bijna alles afhankelijk van elkaar..
Kan dit niet op een andere manier? Is hier uberhaubt wel een nette manier voor of zit ik helemaal verkeerd te denken?
Weet iemand hoe dit in grote projecten wordt aangepakt? http://www.adobe.com/products/air/showcase/
[ Voor 3% gewijzigd door Verwijderd op 10-03-2010 21:18 ]