Bonjour à toutes et à tous !
J'utilise depuis quelques temps déjà les templates pour mettre de la variabilité sur les types, mais je n'ai jamais été confronté au problème suivant :
Soit un concept A (un ensemble de distribution de probas dans mon cas), proposant un service sample() dont le résultat peut être :
- constant
- variable dans un espace X
- variable un espace X et un autre espace Y.
Grand naïf, j'ai pensé faire ça :
Le service commun varie dans ses arguments : sample(), sample(X), ou sample(X, Y) et l'implémentation varie selon les cas. Du coup je ne sais pas si je dois/peux donner le même nom à ces patrons de classes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
- D'un côté si leur implémentation et leur service varie, c'est qu'ils ont pas grand chose à voir.
- D'un autre côté ces sont tous des A, du coup j'ai eu envie de tous les nommer pareil avec l'idée que le nombre d'arguments template suffiraient à lever l'ambiguité. Le compilateur me signale aimablement que je n'y connais rien "class A redeclared with ... argument template", ce dont je lui sais gré.
Du coup j'hésite entre
- renommer les patrons de classe Foo, XVariableFoo, XYVariableFoo mais même si ça a l'air d'être la solution la plus facile quelque chose me dit que ça cloche
- en apprendre plus sur toute autre approche que vous identifiriez comme étant une meilleure solution problème (peut être faut il donner à tout le monde le même nombre d'arguments template et utiliser des trucs du genre dispatch/enable_if/traits...
)
Qu'en pensez-vous ?

 

 
		
		 
         
 

 
			
			

 
			 
   
 


 Hésitation sur la conception de patrons de classes
 Hésitation sur la conception de patrons de classes
				
 Répondre avec citation
  Répondre avec citation

 
  
  
 
 
  
 
 
   
						

 
  
			 
  
 
				 Le tout étant de toujours te donner l'occasion de récupérer le type de tag sous une forme ou une autre
  Le tout étant de toujours te donner l'occasion de récupérer le type de tag sous une forme ou une autre  A méditer: La solution la plus simple est toujours la moins compliquée
A méditer: La solution la plus simple est toujours la moins compliquée
 
			 
 
Partager