Qual è la differenza tra builder e Pesi Mosca Motivo?
-
20-09-2019 - |
Domanda
Qual è la differenza tra builder e mosca del modello in termini di utilizzo, in quanto ciascuno di essi si occupa di gran numero di oggetti?
Soluzione
Il builder viene utilizzato per creare molti oggetti, per cui il modello mosca è di circa condivisione un tale raccolta di oggetti.
Questi due modelli entrambi trattano materiali "compositi", ossia oggetti che possono avere diversi elementi, ma non hanno bisogno per essere utilizzato insieme a tutti. 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 "" libro GoF )
Altri suggerimenti
Direttamente da wikipedia.
mosca è un software di progettazione modello. Un peso mosca è un oggetto che riduce al minimo l'utilizzo della memoria attraverso la condivisione come più dati possibile con altri oggetti simili; si tratta di un modo per utilizzare oggetti in grandi numeri quando un semplice ripetuta rappresentazione userebbe un quantità inaccettabile di memoria.
Il builder è un software design pattern. L'intenzione è quella di passaggi astratte di costruzione oggetti in modo diverso implementazioni di questi passaggi possono costruire rappresentazioni diverse oggetti.
Una aiuta con oggetti di costruzione e l'altro aiuto con l'utilizzo della memoria. Si potrebbe potenzialmente utilizzare un costruttore di "costruire" diversi oggetti peso mosca.
modello mosca è appropriata quando "molti oggetti devono essere manipolati e questi non possono permettersi di avere dati estranei." In Java, oggetti String sono gestite come peso mosca. Java mette tutte le stringhe letterali fisse in una piscina letterale. Per letterali ridondanti, Java conserva una sola copia in piscina.
La chiave per rendere il lavoro dei pesi mosca è attraverso il controllo di istanze di oggetti utilizzando un modello di progettazione metodo factory o costruttore. Il lavoro di un metodo factory è semplicemente quello di creare oggetti: determinati criteri di ingresso, restituire un oggetto di tipo appropriato.
Abstract Factory è simile a costruttore in che anch'essa può costruire oggetti complessi. La differenza principale è che il builder concentra sulla costruzione di un oggetto complesso passo per passo. enfasi astratta del fattore è sulle famiglie di oggetti prodotti (sia semplici o complessi).