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 |
2. Le langagePlusieurs 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 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. |
|