Padrões de projeto (Design Patterns) — Flyweight
Gabarito: letra E (Flyweight). O padrão Flyweight é um padrão estrutural que tem como intenção usar compartilhamento para suportar eficientemente grandes quantidades de objetos de granularidade fina, reduzindo o consumo de memória. Exatamente o que o enunciado descreve.
Alternativa A — ❌ Incorreta
O padrão Command é um padrão comportamental que encapsula uma solicitação como um objeto, permitindo parametrizar clientes com filas, requisições e operações. Não se relaciona com compartilhamento de objetos de granularidade fina.
Alternativa B — ❌ Incorreta
O padrão Composite é um padrão estrutural que compõe objetos em estruturas de árvore para representar hierarquias partes-todo. Seu foco é tratar objetos individuais e composições de maneira uniforme, não o compartilhamento para economia de memória.
Alternativa C — ❌ Incorreta
O padrão Prototype é um padrão de criação que especifica os tipos de objetos a serem criados usando uma instância-protótipo e cria novos objetos pela cópia desse protótipo. Não envolve compartilhamento.
Alternativa D — ❌ Incorreta
O padrão Interpreter é um padrão comportamental que define uma representação para a gramática de uma linguagem e um interpretador para interpretar sentenças dessa linguagem. Não tem relação com compartilhamento de objetos.
Alternativa E — ✅ Correta ⟵ GABARITO
O padrão Flyweight é exatamente o padrão estrutural que utiliza compartilhamento para suportar grandes quantidades de objetos de granularidade fina, conforme o enunciado. Ele separa o estado intrínseco (compartilhado) do extrínseco, permitindo economia de recursos.
Gabarito: letra E (Flyweight).