🎯 Saiba o que estudar

Avançado com Treinador a partir de R$ 0,76/dia

O design pattern cujo propósito é compartilhar partes comun...

Próximas questões
Com base no mesmo assunto
Q4197985 Arquitetura de Software
O design pattern cujo propósito é compartilhar partes comuns de estado entre múltiplos objetos, ao invés de manter todos os dados em cada objeto, promovendo economia de memória RAM, é denominado
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: E

Fundamento decisivo: A pista decisiva foi o compartilhamento de partes comuns de estado entre múltiplos objetos, com foco em economia de memória.

Tema central: Padrão Flyweight
Análise das alternativas
A
Errada
Command está ligado a encapsular requisições ou comandos em objetos. Esse propósito não corresponde ao critério cobrado, que era compartilhamento de estado comum para reduzir uso de memória.
B
Errada
Mediator serve para centralizar a interação entre objetos e reduzir acoplamento comunicacional. Isso é diferente de compartilhar partes de estado entre múltiplas instâncias para economizar RAM.
C
Errada
Decorator adiciona responsabilidades ou comportamentos a objetos de forma dinâmica. O erro está em que esse padrão não é definido por reuso de estado comum entre vários objetos.
D
Errada
Proxy funciona como representante de outro objeto para controlar acesso, criação, proteção ou localização. Esse papel não coincide com a finalidade específica de compartilhar estado intrínseco para economia de memória.
E
Certa
A alternativa E está certa porque Flyweight é o padrão definido pelo compartilhamento de estado comum entre muitos objetos, evitando duplicação de dados em cada instância. O critério técnico que sustenta a resposta é justamente a associação entre compartilhamento de estado intrínseco/comum e eficiência de memória.
Pegadinha da questão
A confusão real era misturar padrões estruturais e marcar Proxy ou Decorator só por também envolverem composição e objetos, sem perceber que o enunciado exigia especificamente compartilhamento de estado comum com foco em economia de memória.
Dica para questões semelhantes
  • Se o enunciado indicar economia de memória por evitar duplicação de dados entre muitas instâncias, a resposta tende a ser Flyweight.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A) Command: É um padrão comportamental que transforma uma requisição ou operação em um objeto independente. Isso permite parametrizar clientes com diferentes requisições, enfileirar operações e suportar funções de desfazer/refazer (undo/redo). Não foca em economia de memória por compartilhamento.

B) Mediator: É um padrão comportamental focado em reduzir conexões diretas e complexas entre várias classes. Ele introduz um objeto centralizador que gerencia a comunicação do sistema, promovendo o acoplamento fraco. Seu objetivo é organização e comunicação, não redução de memória RAM.

C) Decorator: É um padrão estrutural usado para adicionar novas responsabilidades e comportamentos a um objeto dinamicamente, de forma flexível. Ele envolve o objeto original em uma estrutura de "casca" (wrapper), estendendo as suas funções sem precisar modificar a classe base.

D) Proxy: É um padrão estrutural que fornece um substituto ou intermediário para controlar o acesso a um objeto real. Pode servir para carregar dados sob demanda (lazy loading), controlar segurança ou gerenciar acessos remotos, mas não faz o compartilhamento granular de estados internos para reduzir o tamanho de novos objetos.

✔️ E) Flyweight: É exatamente o padrão descrito no enunciado. O exemplo clássico é um jogo com milhares de árvores: em vez de salvar os dados da imagem, textura e modelo 3D em cada árvore criada, esses dados pesados são criados uma única vez (Flyweight) e compartilhados. Cada árvore individual passa a guardar apenas a sua coordenada (X, Y) na tela, minimizando o impacto na memória do sistema.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo