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

Contenu supprimé Contenu ajouté
m 25 versions depuis w:Poids-mouche (patron de conception) : Patrons de conception/Poids-mouche
+
Ligne 1 :
<noinclude>{{Patrons de conception}}
{{ébauche|informatique}}
{{Patron de conception|Poids-mouche|Flyweight|Réduire le nombre d'objets à instancier}}</noinclude>
En [[génie logiciel]], leLe '''poids-mouche''' est un [[../|patron de conception]] ''(design pattern)'' [[patron../Patrons de conception#Structurestructure|structurel]].
 
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'objets à 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 patron poids-mouche est l'approche pour utiliser de telles classes.
Le patron poids-mouche est l'approche pour utiliser de telles classes. D'une part la classe avec ses données internes qui la rendent 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 icônes à l'écran, ce type de patron 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 est 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.
D'une part la classe avec ses données internes qui la rendent 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 icônes à l'écran, ce type de patron 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 est 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 patron poids-mouche, les données n'ont pas de [[pointeur]]spointeurs 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 patron 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 contient beaucoup de caractères ainsi implémentés ...implémentés…
 
== Exemple ==
[[Catégorie:Patron de conception]]
 
[[Catégorie:PatronPatrons de conception (livre)]]
[[bg:Миниобект (шаблон)]]
[[de:Flyweight]]
[[en:Flyweight pattern]]
[[es:Flyweight (patrón de diseño)]]
[[it:Flyweight pattern]]
[[ja:Flyweight パターン]]
[[ko:Flyweight 패턴]]
[[pl:Pyłek (wzorzec projektowy)]]
[[pt:Flyweight]]
[[ru:Приспособленец (шаблон проектирования)]]
[[vi:Flyweight pattern]]