Ik ben bezig een applicatie te maken die gebruik maakt van een connectie-class. Die connectie-class wil ik daarnaast voor andere applicaties gaan gebruiken, dus is het van belang dat het redelijk 1-richtingsverkeer wordt (i.e. ik wil niet dat de connectie class klakkeloos dingen uit de applicatie gaat aanroepen).
Echter, het is natuurlijk wel van belang dat packets die aankomen waaien in de connectie, op de één of andere manier de app. bereiken. Nu heb ik daar verschillende ideeën over, maar ik ben wel even benieuwd naar wat de experts denken (+ dat ik de oplossing die ik het mooist vond niet voor elkaar krijg).
1) Applicatie een interface laten implementen
Ik kan vereisen (en checken wat vast lelijk wordt) dat de applicatie een bepaalde interface implementeert waarin een specifieke functie bestaat die kan worden aangeroepen door de connection class als er wat binnenkomt.
Vind het zelf niet zo heel fraai, aangezien de app in mijn ogen hoger in de hierärchie staat dan de connection-class en het dus eigenlijk andersom zou moeten zijn.
2) Connection class buffert en applicatie pollt
(geen commentaar op de schrijfwijze van de werkwoorden)
Dit kan natuurlijk altijd, maak een functie in de connectie die een lege string retourneert als er niks is en anders 1 pakket data. De applicatie pollt elke x seconden.
Denk beter dan optie 1, maar lijkt nog altijd niet super...
3) Applicatie geeft een delegate aan de connection
En bij het aankomen van een packet wordt door de connection layer de delegate-functie aangeroepen.
Dit is vrij flexibel volgens mij en lijkt me dus ook de mooiste methode, maar krijg ik dus niet voor elkaar (een string parameter kan ik niet zomaar in die delegate hangen, want hij verwacht een functienaam. Ook een poging er een .toString() achter te gooien hielp niet.
Ben dus even nieuwsgierig... Wat vinden jullie het mooist (en waarom) en wat kan?
In geval van optie 3, kan dit überhaupt en zo ja wat doe ik fout (indien meer info vereist, kan ik die uiteraard even geven maar voorlopig is dit tekst zat toch?
Alvast thnx!
Echter, het is natuurlijk wel van belang dat packets die aankomen waaien in de connectie, op de één of andere manier de app. bereiken. Nu heb ik daar verschillende ideeën over, maar ik ben wel even benieuwd naar wat de experts denken (+ dat ik de oplossing die ik het mooist vond niet voor elkaar krijg).
1) Applicatie een interface laten implementen
Ik kan vereisen (en checken wat vast lelijk wordt) dat de applicatie een bepaalde interface implementeert waarin een specifieke functie bestaat die kan worden aangeroepen door de connection class als er wat binnenkomt.
Vind het zelf niet zo heel fraai, aangezien de app in mijn ogen hoger in de hierärchie staat dan de connection-class en het dus eigenlijk andersom zou moeten zijn.
2) Connection class buffert en applicatie pollt
(geen commentaar op de schrijfwijze van de werkwoorden)
Dit kan natuurlijk altijd, maak een functie in de connectie die een lege string retourneert als er niks is en anders 1 pakket data. De applicatie pollt elke x seconden.
Denk beter dan optie 1, maar lijkt nog altijd niet super...
3) Applicatie geeft een delegate aan de connection
En bij het aankomen van een packet wordt door de connection layer de delegate-functie aangeroepen.
Dit is vrij flexibel volgens mij en lijkt me dus ook de mooiste methode, maar krijg ik dus niet voor elkaar (een string parameter kan ik niet zomaar in die delegate hangen, want hij verwacht een functienaam. Ook een poging er een .toString() achter te gooien hielp niet.
Ben dus even nieuwsgierig... Wat vinden jullie het mooist (en waarom) en wat kan?
In geval van optie 3, kan dit überhaupt en zo ja wat doe ik fout (indien meer info vereist, kan ik die uiteraard even geven maar voorlopig is dit tekst zat toch?
Alvast thnx!