certi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[certi-dev] Nettoyage de RTIambassadorFactory::createRTIambassador


From: David Come
Subject: [certi-dev] Nettoyage de RTIambassadorFactory::createRTIambassador
Date: Sat, 11 Oct 2014 23:55:02 +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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]