« Patrons de conception/Poids-mouche » : différence entre les versions

Contenu supprimé Contenu ajouté
imported>Thijs!bot
ChrisJ (discussion | contributions)
m ortho
Ligne 4 :
Lorsque de nombreux (petits) objets doivent être manipulés, mais qu'il serait trop coûteux en mémoire s'il fallait instancier tous ces objets, il est judicieux d'implémenter le poids-mouche.
 
Dans le cas d'une classe représentant des données, il est parfois possible de réduire le nombre d'objetobjets à instancier si tous ces objets sont semblables et se différencient sur quelques paramètres. Si ces quelques paramètres peuvent être extraits de la classe et les passer ensuite via des paramètres des méthodes, on peut réduire grandement le nombre d'objets à instancier.
 
Le motif poids-mouche est l'approche pour utiliser de telles classes. D'une part la classe avec ses données internes qui la renderendent unique, et d'autre part les données externes passées à la classe en tant qu'arguments. Ce modèle est très pratique pour des petites classes très simples. Par exemple pour représenter des caractères ou des iconesicônes à l'écran, ce type de motif de conception est apprécié. Ainsi, chaque caractère peut être représenté par une instance d'une classe contenant sa police, sa taille, etc. La position des caractères à afficher étantest stockée en dehors de cette classe. Ainsi, on a une et une seule instance de la classe par caractère et non une instance par caractère affiché à l'écran.
 
Dans le motif poids-mouche, les données n'ont pas de [[pointeur]]s vers les méthodes du type de données, parce que cela consommerait trop d'espace mémoire. A la place, les routines sont appelées directement.
 
Un exemple classique du motif poids-mouche : les caractères manipulés dans un [[traitement de texte]]. Chaque caractère correspond à un objet ayant une police de caractères, une taille de caractères, et d'autres données de formatage. Un long document contenantcontient beaucoup de caractères ainsi implémentés ...
 
[[Catégorie:Motif de conception]]