« Patrons de conception/Observateur » : différence entre les versions

Contenu supprimé Contenu ajouté
m Formatage, ajout de code
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 36 :
* On crée une classe qui étend ''java.util.Observable'' et dont la méthode de mise à jour des données ''setData'' lance une notification des observateurs (1) :
 
<sourcesyntaxhighlight lang="java">
class Signal extends Observable
{
Ligne 45 :
}
}
</syntaxhighlight>
</source>
 
* On crée le panneau d'affichage qui implémente l'interface ''java.util.Observer''. Avec une méthode d'initialisation (2), on lui transmet le signal à observer (2). Lorsque le signal notifie une mise à jour, le panneau est redessiné (3).
 
<sourcesyntaxhighlight lang="java">
class JPanelSignal extends JPanel implements Observer
{
Ligne 62 :
}
}
</syntaxhighlight>
</source>
 
=== [[Programmation C++|C++]] ===
Ligne 68 :
Dans cet exemple en [[Programmation C++|C++]], on veut afficher les événements qui se produisent dans une classe Exemple.
 
<sourcesyntaxhighlight lang="cpp">
#include <string>
#include <list>
Ligne 133 :
return (0);
}
</syntaxhighlight>
</source>
 
=== [[Programmation C sharp|C#]] ===
Ligne 141 :
Un événement possède une signature : le type de la méthode que doit lever l'évènement.
Dans cet exemple c'est EventHandler.
<sourcesyntaxhighlight lang="csharp">event EventHandler observable; </sourcesyntaxhighlight>
La signature du type délégué EventHandler est :
<sourcesyntaxhighlight lang="csharp">void (object emetteur, EventArgs argument)</sourcesyntaxhighlight>
 
<sourcesyntaxhighlight lang="csharp">
using System;
 
Ligne 186 :
}
}
</syntaxhighlight>
</source>