[Dcmlib] Chasse aux methodes qui devraient etre 'cachées'
Jean-Pierre ROUX
jean-pierre.roux at creatis.insa-lyon.fr
Sun May 29 17:50:40 CEST 2005
Bonjour.
L'histoire de (uint16_t group, uint16_t elem) vs TagKeg key, soulevée
par Mathieu me fait penser (de nouveau) aux soucis de l'utilisateur
qui voulait utiliser des methodes (publiques) de
gdcm::PixelReadConvert.
Il est clair qu'il faut se donner les moyens de 'cacher' de telles
methodes, pour eviter toute confusion.
En l'absence d'<<embedded classes>> ou d'<<embedded methods>> en C++,
la seule solution, c'est 'friend'.
Benoit avait fait un grand mémage pour virer les declarations
'friend' qui avaient été mises de maniere abusives, et il a bien eu
raison.
Le pb, c'est qu'il a viré *egalement* celles dont la présence était
parfaitement justifiée.
On se retrouve donc avec des méthodes 'publiques' dont aucun
utilisateur ne peut se servir sans tout péter (j'avais identifié dans
mon code un certain nombre de fonctions comme 'not end user
intended', mais ca serait encore mieux si l'end user ne les voyait
pas ...)
Il faudrait, à mon avis, qu'on se mette d'accord (Mathieu+Benoit+moi)
sur la manière précise dont on s'y prend pour résoudre ce pb (qui
allègera du coup l'avalanche de méthodes qui assaillent
l'utilisateur), faire un sequencing de l'ensemble du
bazar(Benoit+moi), et mettre bon ordre a tout ça (moi).
JP
Jean-Pierre ROUX
CREATIS - CNRS UMR 5515, INSERM U 630
Laboratoire de Radiologie Experimentale
Hopital Cardiologique
28 Avenue du Doyen LEPINE
B.P. Lyon-Montchat
69394 Lyon Cedex 03
Tel : (+33) 04 72 35 74 12
Fax : (+33) 04 72 68 49 16
URL : http://www.creatis.univ-lyon1.fr
e-mail : jpr at creatis.univ-lyon1.fr
More information about the Dcmlib
mailing list