2009-11-14 3 views

Répondre

11

Le modèle Builder est utilisé pour créer de nombreux objets, dans lequel le motif Flyweight est sur le point partage une telle collection d'objets.

Ces deux modèles traitent tous deux des "composites", c'est-à-dire des objets qui peuvent avoir plusieurs éléments, mais ils n'ont pas besoin d'être utilisés ensemble. Le cas d'utilisation d'archétype pour Flyweight est où une piscine de quelques dizaines de caractères objets sont utilisés à plusieurs reprises dans une application éditeur de texte (ce qui est l'exemple donné dans le "GoF" book)

9

Directement à partir de wikipedia.

Flyweight

est Flyweight un modèle de conception de logiciel . Un poids mouche est un objet qui minimise l'utilisation de la mémoire en partageant autant de données que possible avec objets similaires; C'est un moyen d'utiliser objets en grand nombre quand une simple représentation répétée utiliserait une quantité de mémoire inacceptable de .

Builder

Le modèle Builder est un modèle de conception logiciel . L'intention est de étapes abstraites de construction de objets de telle sorte que différents implémentations de ces étapes peuvent construire des représentations différentes de objets.

Une aide à la création d'objets et l'autre aide à l'utilisation de la mémoire. Vous pourriez potentiellement utiliser un constructeur pour "Construire" différents objets de poids mouche.

2

modèle poids plume est appropriée lorsque « plusieurs objets doivent être manipulés et ceux-ci ne peuvent pas se permettre d'avoir des données superflues. " En Java, les objets String sont gérés en tant que poids mouche. Java place tous les littéraux String fixes dans un pool littéral. Pour les littéraux redondants, Java conserve une seule copie dans le pool. La clé du travail poids mouche consiste à contrôler l'instanciation de l'objet à l'aide d'une méthode d'usine ou d'un modèle de conception de générateur. Le travail d'une méthode d'usine consiste simplement à créer des objets: en fonction des critères d'entrée, renvoyer un objet de type approprié.

L'usine abstraite est similaire au constructeur en ce qu'elle peut aussi construire des objets complexes. La principale différence est que le modèle Builder se concentre sur la construction d'un objet complexe étape par étape. L'accentuation du facteur abstrait est sur les familles d'objets de produit (simples ou complexes).

Questions connexes