Découvrez une deuxième base commune à de nombreux langages de programmation :
il s’agit de la Programmation Événementielle.
Ou comment créer des objets faiblement couplés !
[ppmaccordion][ppmtoggle title= »Afficher la version texte de la vidéo »]
Comment booster vos Architectures Applicatives avec la Programmation Événementielle ?
Bonjour, et bienvenu sur Développement Facile.
Dans ce nouveau tutoriel, vous allez apprendre à booster vos architectures applicatives. Je rencontre beaucoup de développeurs qui, par exemple, avec le player flash ou JavaScript, ont des problèmes pour leurs objets, leurs animations, ils ne savent pas quand elles sont terminées, ou quand les chargements en cours sont terminés. Du coup, ils mettent des timers, par exemple, qui ne vont pas du tout pour créer des applications performantes.
Aujourd’hui, je vous propose de découvrir la programmation événementielle.
Comme le schéma que vous voyez sur votre écran, c’est à dire que l’utilisateur clique sur un bouton. Ca envoi un événement, tout les abonnés, toutes les interfaces qui doivent attendre cet événement, se mettent à jour automatiquement dès qu’ils le reçoivent. Du coup, la page web, que ce soit en flash, ou en JavaScript, se met à jour. Il faut savoir que le flash ActionScript et le JavaScript sont des langages orientés programmation événementielle.
Des applications faiblement couplées
C’est un concept très important à appréhender. Ca vous permettra d’avoir des applications faiblement couplées, ce qui est une des base essentielle en développement d’applications performantes. Ce sera des objets qui interagissent sans pratiquement se connaitre, juste par le lien, avec des écouteurs qui se connaitront uniquement par là, et vos applications qui sont faiblement couplées, sont très souples et capables de faire face aux changements très rapidement et très efficacement. Les objets sont donc indépendant les uns des autres.
La programmation événementielle
Ensemble, nous allons découvrir la programmation événementielle. Le but, c’est que vous, vous appreniez la programmation événementielle. C’est indispensable pour améliorer l’architecture de vos applications et passer au niveau supérieur. Comme je vous le disais, c’est utilisé dans énormément de langages, que ce soit le JavaScript, l’ActioScript, le C++, le Java, l’Axe, et bien d’autres encore. Les événements font partit des principes fondamentaux pour créer des conceptions efficaces.
Par où commencer ?
La programmation événementielle, c’est une relation de un à plusieurs, c’est à dire, on va prendre un exemple simple. Un bouton qui communique avec plusieurs interfaces, plusieurs objets qui attendent cet événement là. Ou dans le cas d’un chargement, un objet qui envoi un événement comme quoi il a finit de charger des images, des fichiers XML, et qui prévient des interfaces pour dire que le chargement est fini, et que les interfaces doivent se mettre à jour.
Donc pour faire simple, quand l’utilisateur appuie sur un bouton, les objets sont prévenus de son action par une fonction. S’en suis, une mise à jour de l’interface du logiciel, par exemple, si nous prenons un lecteur MP3, vous appuyez sur le bouton play, ça envoi des événements et ça va lancer la chanson, la lecture de la chanson, lancer en même temps le temps qui défile, afficher la duré écoulée de la chanson etc… C’est utilisé pour la validation d’un formulaire, le lancement d’un niveau de jeu, et dans bien d’autres domaines encore.
La programmation événementielle
La programmation événementielle est vraiment un pilier du développement. Les événements sont enfaite diffusés par des objets, et comme je vous le disais c’est très pratique pour être informé des changement dans une application sans attendre la fin de l’exécution d’un algorithme. Commencez par étudier le modèle de conception Observer, c’est ce qui vous aidera le mieux à comprendre la programmation événementielle. Observer sert à indiquer lorsqu’un objet change d’état. Tout ceux qui en dépendent sont prévenus et mis à jour automatiquement.
Avantages des événements
Par exemple, le modèle de conception Observer est souvent utilisé pour modéliser un service d’abonnement à un journal. C’est à dire que dans le service d’abonnement à un journal, vous avez l’éditeur de journaux qui créer de nouveaux magazines et des abonnés. Quand une personne s’abonne à un journal, elle envoi son chèque et elle va recevoir automatiquement les mises à jour. La programmation événementielle modélise exactement se principe de la vie réelle, de la vie courante, c’est à dire, à chaque fois qu’un éditeur publie une nouvelle version de son journal, il envoi un événement, une nouvelle version du magazine. Ca peut être un objet, à tout les abonné. Et un abonné, une personne lambda, peut se désinscrire quand elle veut de la réception d’événement. Elle prévient l’éditeur : « Je ne souhaite plus recevoir les nouvelles versions, les mises à jour de votre magazine, désinscrivez moi. » Quand l’éditeur va créer une nouvelle version du magazine, tout les abonnés seront prévenus sauf celui qui vient de se désabonner. C’est l’avantage des événements.
Je vous encourage à mettre en pratique dès maintenant la programmation événementielle. Ca va vous apporter une application faiblement couplée, beaucoup plus souple et résistante aux changements. Vous avez la possibilité de lancer plusieurs actions simultanément sans attendre la fin de l’exécution, notamment en ActionScript, Javascrpit ou en Java.
Souvent on lance le chargement de notre application, et on demande chargement de fichiers XML, des animations, des images, on lance des piles de chargements, et pendant ce temps là, l’application charge les fichiers, elle continue à construire ses interfaces, et dès que les chargements sont tous terminés, les interfaces reçoivent des événements : les fichiers XML, les images les animations sont terminés de chargés etc.
L’application sais qu’elle peut afficher l’écran de démarrage pour l’utilisateur. Comme je vous le dis il y a la possibilité d’être prévenu des actions de l’utilisateur lorsqu’il clique sur un bouton, ou par une autre application. Deux applications peuvent communiquer avec elle par des événements, ou lors d’une mise à jour d’une bases de données, tout ça automatiquement. Une fois qu’un écouteur est abonné à un sujet ou à un diffuseur d’événement, l’event broadcaster, par exemple, sera prévenu automatiquement de ce qu’il écoute.
A vous de jouer !
Donc votre application tient compte des événement qu’elle reçoit et se met à jour en conséquence. Comme d’habitude, vous trouverez un exemple de code source à télécharger sous cette vidéo. Mettez en pratique dès maintenant le modèle Observer, la programmation événementielle dans votre développement. Si vous avez des questions, posez-les moi sous cette vidéo, et je vous répondrais en détails.
Je vous dis à bientôt pour un prochain cours dans Développement Facile.
[/ppmtoggle][/ppmaccordion]
Mise en pratique
Commencez à utiliser la Programmation Événementielle pour développer vos applications.
Pour découvrir d’autres exemples, consultez ce tutoriel ActionScript / Flash sur la Programmation Événementielle.
Téléchargement du code source Exemple Pattern Observer avec ActionScript
Cliquez ici pour télécharger le code source Exemple Pattern Observer avec ActionScript
Est ce que vous utilisez les événements avec votre langage de programmation ?
Dites-moi dans les commentaires si vous utilisez les événements dans votre développement et pourquoi.