Voor communicatie tussen computers of computer/arduino maak ik vaak gebruik van een string die verzonden wordt en geïnterpreteerd wordt door de ontvanger. Bijvoorbeeld als tussen computers berichten verstuur dan zal het meestal in de vorm van een string zijn: "mediaplayer start" of "mediaplayer open http://www.domein.nl/liedje.mp3". Tussen computer en arduino gaat het nog via een HTTP request, maar die wordt ook direct naar een string omgezet.
Echter als je meerdere applicaties op een apparaat hebt draaien dan worden mijn programeer resultaten altijd een quick en dirty oplossing, zodat het werkt, maar trots ben ik er niet op.
Ik definieer mijn berichten meestal als volgt: "applicatie actie [extra variabelen, ...]" en kom dan met de volgende oplossing:
Switch case in switch case, met daarin weer allemaal if-statements die acties uitvoeren. Dit kan met meerdere applicaties en acties best uit de hand lopen en onoverzichtelijk worden.
Maar het kan voorkomen dat er meerdere applicaties zijn met aparte variabelen en dan krijg ik het een gevoel wordt van alles keihard programmeren, zonder er netjes structuur in te brengen. Op het internet vond ik het volgende voorbeeld: http://cmdline.codeplex.com/ en dit vind ik een netjes begin alleen zit even met het volgende.
Bij een applicatie mediaplayer die bepaalde acties heeft en één a twee extra variabelen (bestandpad) dan kun je deze heel mooi instellen, maar als je meerdere applicaties hebt die acties moeten uitvoeren dan krijg ram je er allemaal variabelen in waarvan je niet de correcte verplicht kunt maken en dit later nog moet checken.
Dus ik stel het volgende voor: CLI in CLI. De eerste CLI interpreteert eigenlijk alleen de applicatie naam en gooit deze dan verder naar de applicatie CLI die de resterende attributen doorneemt en vanaf hier actie onderneemt.
Nu is mijn vraag alleen even of mijn gedachtegang (naast duidelijk) correct is of dat ik dit mogelijk toch met een enkele CLI kan oplossen.
Echter als je meerdere applicaties op een apparaat hebt draaien dan worden mijn programeer resultaten altijd een quick en dirty oplossing, zodat het werkt, maar trots ben ik er niet op.
Ik definieer mijn berichten meestal als volgt: "applicatie actie [extra variabelen, ...]" en kom dan met de volgende oplossing:
code:
1
2
3
4
| - pak eerste attribuut en gooi deze in een switch case statement - als er een switch case is met de applicatie naam interpreteer resteren de variabelen - pak eerste attribuut en test deze in een switch case state ment - als er een match is; voer stuk code uit welke specifieke actie uitvoert met de variabelen |
Switch case in switch case, met daarin weer allemaal if-statements die acties uitvoeren. Dit kan met meerdere applicaties en acties best uit de hand lopen en onoverzichtelijk worden.
Maar het kan voorkomen dat er meerdere applicaties zijn met aparte variabelen en dan krijg ik het een gevoel wordt van alles keihard programmeren, zonder er netjes structuur in te brengen. Op het internet vond ik het volgende voorbeeld: http://cmdline.codeplex.com/ en dit vind ik een netjes begin alleen zit even met het volgende.
Bij een applicatie mediaplayer die bepaalde acties heeft en één a twee extra variabelen (bestandpad) dan kun je deze heel mooi instellen, maar als je meerdere applicaties hebt die acties moeten uitvoeren dan krijg ram je er allemaal variabelen in waarvan je niet de correcte verplicht kunt maken en dit later nog moet checken.
Dus ik stel het volgende voor: CLI in CLI. De eerste CLI interpreteert eigenlijk alleen de applicatie naam en gooit deze dan verder naar de applicatie CLI die de resterende attributen doorneemt en vanaf hier actie onderneemt.
Nu is mijn vraag alleen even of mijn gedachtegang (naast duidelijk) correct is of dat ik dit mogelijk toch met een enkele CLI kan oplossen.