|
From: | David Come |
Subject: | [certi-dev] Nettoyage de RTIambassadorFactory::createRTIambassador |
Date: | Sun, 12 Oct 2014 00:35:37 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.1 |
Bonjour.
J'ai entrepris de réaliser une restructuration de RTIambassadorFactory::createRTIambassador dans sa version IEEE1516_2000. L'idée que j'ai suivie était de faire une classe RealFactory avec 2 paramètres templates : l'un pour le système, l'autre pour la présence ou non des sockets TCP. De cette facon, la classe commence à réaliser la création du RTIA et délègue tout ce qui est système spécifique SysWrapper. Cette dernière est entièrement spécialisée par 2 placeholdesr (subtilement nommés Win et Nux). Ces 2 classes possèdent chacun un jeu de fonction membre elle même template qui sont elles aussi spécialisée afin de faire les différentes actions nécessaires en cas de l'utilisation (ou non) des sockets. Je n'ai pas pu/voulu retirer certains morceaux de code sous compilation conditionnelle. Le fichier gagne mécaniquement une centaine de ligne mais he trouve qu'il gagne en simplicité sur le suivi de la logique. En comparaison l'ancien code est visible ici : https://github.com/Davidbrcz/libcerti/blob/master/libRTI/ieee1516-2000/RTIambassadorFactory.cpp Le nouveau ici : https://github.com/Davidbrcz/libcerti/blob/dev-isae-2014/libRTI/ieee1516-2000/RTIambassadorFactory.cpp Si le principe de la refactorisation est accepté, j'apprécierais volontiers que quelqu'un relise le code afin de débusquer des probables différences de comportement avec la version originale. Dans la même veine, je pourrai aussi appliquer la même transformation à la version IEEE1516_2010. Cordialement, Côme David. |
[Prev in Thread] | Current Thread | [Next in Thread] |