Design pattern en AS3 #2 Delegate

Cet article est le second d’une série de sept articles traitant de l’implémentation des principaux design pattern en Action Script 3.

AS3 est un langage permettant de réaliser des applications hybrides mobiles via Adobe AIR. Le système Adobe AIR permettant aux développeurs d’intégrer le même code dans des applications et jeux natifs pour les ordinateurs de bureau Windows et Mac OS, et également pour les périphériques iOS et Android. Ce langage est un bon moyen de s’initier aux patrons de conception et aux paradigmes objets car il est strict en terme de syntaxes et d’architecture. Ces articles comportent une présentation théorique et un exemple pratique.

Aujourd’hui le Delegate

En développement logiciel, le pattern delegate (ou délégation) est un design pattern en programmation objet ou un objet au lieu de traiter l’une de ces taches, délègue cette tâche à un objet associé. Il crée ainsi une inversion de responsabilité. L’objet aidant est appelé le delegate. Le patron de délégation est l’un des patron fondamental d’abstraction qui implique d’autres modèles tels la composition (appelle aussi agrégation). Voici un exemple de mise en place :

public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void

{

            // pattern DELEGATE

_eventDispatcher.addEventListener(type,listener,useCapture,priority,useWeakReference);

}

Ici la fonction déléguée s’appelle listener en passage de paramètre et appartient à la classe déléguée et sera ainsi exécutée dans celle-ci. Ce design pattern est ainsi couramment utilisé en programmation réactive.  

Auteur : Eric Duport, Ingénieur Concepteur Développeur à SQLI Lyon