2009-11-14 23 views

risposta

11

Il builder viene utilizzato per creare molti oggetti, per cui il modello mosca è di circa condivisione come un insieme di oggetti.

Questi due modelli riguardano entrambi i "materiali compositi", ovvero oggetti che possono avere diversi elementi, ma non devono essere necessariamente utilizzati insieme. Il caso d'uso archetipo mosca è dove un pool di alcune decine di caratteri oggetti sono usati più e più volte in un editor di testo (questo è l'esempio dato nel "GoF" book) peso mosca modello

9

Direttamente da wikipedia.

Flyweight

mosca è un software di progettazione modello. Un peso mosca è un oggetto che riduce al minimo l'utilizzo della memoria condividendo come più dati possibili con altri oggetti simili ; è un modo di utilizzare gli oggetti in grandi numeri quando una semplice rappresentazione ripetuta utilizza una quantità di memoria non accettabile .

Builder

Il builder è un design pattern software . L'intenzione è di fasi astratte di costruzione degli oggetti in modo che diverse implementazioni di questi passaggi possano costruire rappresentazioni diverse di oggetti .

Uno aiuta a costruire oggetti e l'altro aiuta con l'utilizzo della memoria. Potresti potenzialmente utilizzare un builder per "Costruire" oggetti volanti diversi.

2

è appropriata quando "molti oggetti deve essere manipolato e questi non possono permettersi di avere dati estranei ". In Java, gli oggetti String sono gestiti come pesi mosca. Java mette tutti i letterali stringa fissi in un pool letterale. Per i letterali ridondanti, Java conserva una sola copia nel pool.

La chiave per rendere il lavoro dei pesi mosca è controllare l'istanza degli oggetti utilizzando un metodo di progettazione costruttore o costruttore. Il compito di un metodo factory è semplicemente quello di creare oggetti: dati i criteri di input, restituisce un oggetto di tipo appropriato.

La fabbrica astratta è simile al costruttore in quanto anch'essa può costruire oggetti complessi. La differenza principale è che il pattern Builder si concentra sulla costruzione di un oggetto complesso passo dopo passo. L'enfasi del fattore astratto è sulle famiglie di oggetti di prodotto (semplici o complessi).