WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Serveur de jeux d'échecs

( Télécharger le fichier original )
par Ousman Lewis Soumbougma
Ecole d'Ingénierie Sup'Management - Master 1 ingenierie informatique 2008
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

2. Le langage

Plusieurs langages étant disponibles dans notre programme de cette année on choisi un des langages de la suite Visual Studio 2008 qui comporte des langages tels que le C# (mélange de C++ et de Java), le J# (proche du Java, mais non compatible Java) et le Visual Basic .NET. On a opté pour C# car il est moderne et est un mélange de C++ et de JAVA et est un langage de dernière génération. Grâce à la disponibilité des spécifications techniques, différents acteurs sont libres d'ajouter le support pour un autre langage. Il existe aussi des implémentations libres de dot net, notamment Mono et DotGNU.

Le C# facilite la tâche des développeurs en proposant une approche unifiée à la conception d'applications Windows ou Web, tout en introduisant des facilités pour le développement, le déploiement et la maintenance d'applications.

3. Méthodes spéciales utilisées

 
Les méthodes délégués (delegates en anglais) sont une des spécificités de C# par rapport à Java : le mot-clé delegate offre la possibilité de créer des classes particulières, appelées "délégations", dont les instances sont nommées "délégués". Ces classes permettent d'établir un contrat entre l'émetteur et le récepteur - en cela, elles sont proches des interfaces, sauf qu'un délégué n'établit son contrat qu'avec une méthode de la classe déléguée.

 

Que sont-ce, donc, les délégués ? Ils sont définis comme des pointeurs de fonction orientés objet et sans restriction de type (type-safe). Plus simplement, ils sont souvent utilisés comme base de la gestion d'événement au sein de .NET, car ils facilitent l'enregistrement d'un événement. Ils mettent en place un système de rappel (callback) beaucoup plus sécurisé, indiquant à une fonction de référer à une autre. Plus que de simples pointeurs de fonction, ils permettent de préciser le nombre d'arguments à prendre en compte, et le type de chacun, ainsi que le type de valeur retournée et les conventions d'appel.

Les délégués sont des méthodes appelables sans connaissance préalable de l'objet cible. Lors de la création d'un événement, l'émetteur ne peut pas forcément connaître l'objet/la méthode qui va gérer son événement. Les délégués permettent de prendre en charge ce rôle d'intermédiaire. Ils offrent aux développeurs une méthode de dialogue entre objets, en permettant de fournir en paramètre une fonction de même signature pour déléguer l'exécution d'un morceau de code. Les délégués sont ainsi très utilisés au sein de .NET, dans les cas où un composant doit rappeler le composant qui l'utilise.

L'intérêt n'est pas forcément visible : au premier regard, on pourrait comprendre que les délégués permettent d'appeler une fonction à la place d'une autre, ce qui peut laisser sceptique. Les délégués répondent pourtant à un besoin précis : prévoir dans le code d'appeler une méthode, sans savoir lors de la phase de programmation quelle sera cette méthode, celle-ci n'étant précisée que lorsque le programme est lancé. Par exemple, on peut avoir besoin de lancer un tri, mais ne pas être en mesure de déterminer le type de tri (Bulle, Quick, Merge...) avant que l'application ne tourne. L'idée est que ce n'est plus l'objet initial qui gère l'activité, il peut la déléguer à une autre fonction qui prend en charge l'ensemble du processus (c'est la délégation asynchrone).

Au sein du code C#, il faut commencer par établir un type délégation (via le mot-clef delegate), en précisant bien les arguments que la fonction déléguée doit accepter. Il suffit ensuite de créer un objet du type créé, en indiquant la fonction utilisée. Cette fonction est dès lors disponible via le délégué. On peut comparer un délégué à une interface ne déclarant qu'une méthode.

Notre application possède à son sein des méthodes déléguées qui sont très importantes.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il ne faut pas de tout pour faire un monde. Il faut du bonheur et rien d'autre"   Paul Eluard