Pergunta

Qual é a diferença entre o Construtor Padrão e Padrão Flyweight em termos de uso, que lida com um grande número de objetos?

Foi útil?

Solução

O Construtor padrão é usado para criar muitos objetos, segundo a qual o padrão Flyweight é de cerca de compartilhamento que tal uma coleção de objetos.

Estes dois padrões de tanto lidar com "compósitos", i.é.objetos que podem ter vários elementos, mas eles não precisam ser usados juntos.O arquétipo de caso de uso para Flyweight é onde um conjunto de uma dúzia de caracteres objetos são usados mais e mais em um aplicativo de editor de texto (este é o exemplo dado no "GoF" livro)

Outras dicas

Diretamente da Wikipedia.

Peso mosca

O peso -mosca é um padrão de design de software. Um peso mosca é um objeto que minimiza o uso da memória compartilhando o máximo de dados possível com outros objetos semelhantes; É uma maneira de usar objetos em grandes números quando uma representação repetida simples usaria uma quantidade inaceitável de memória.

Construtor

O padrão do construtor é um padrão de design de software. A intenção é abstrair etapas da construção de objetos para que diferentes implementações dessas etapas possam construir diferentes representações de objetos.

Um ajuda na construção de objetos e a outra ajuda no uso da memória. Você pode usar um construtor para "construir" diferentes objetos de peso mosca.

O padrão do peso da mosca é apropriado quando "muitos objetos devem ser manipulados e estes não podem se dar ao luxo de ter dados estranhos". Em Java, os objetos de string são gerenciados como peso mosca. Java coloca todos os literais fixos de cordas em uma piscina literal. Para literais redundantes, Java mantém apenas uma cópia na piscina.

A chave para fazer o trabalho do peso mosca é controlando a instanciação do objeto usando um método de fábrica ou padrão de design do construtor. O trabalho de um método de fábrica é simplesmente criar objetos: dados os critérios de entrada, retornar um objeto do tipo apropriado.

A fábrica abstrata é semelhante ao construtor, pois também pode construir objetos complexos. A principal diferença é que o padrão do construtor se concentra na construção de um objeto complexo passo a passo. A ênfase do fator abstrato está nas famílias de objetos de produto (simples ou complexos).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top