Flyweight e DEcorator

571 palavras 3 páginas
Flyweight e Decorator

Flyweight

• O Flyweight é utilizado quando uma instância de uma classe pode ser usada para fornecer muitas
“instâncias virtuais”.
• É utilizado quando se necessita colocar várias instâncias iguais de um mesmo objeto que podem causar um grande custo de memória.

Flyweight

• Para solucionar este problema, o invés de se ter vários objetos iguais, o Flyweight faz com que haja apenas uma instância do objeto e um objeto-cliente para manter o estado de todos os objetos. O estado de todos os objetos virtuais é armazenado numa matriz bidimensional, enquanto um único objeto é isento de estado.

Flyweight

Flyweight

• As consequências do uso do Flyweight são:
• O Flyweight reduz o número de instâncias de objetos durante a execução, economizando memória. • Centraliza o estado de muitos objetos “virtuais” em um único local.

Flyweight

Exemplo de Aplicação: um editor de textos que permite a formatação de trechos com fontes e características diferentes em qualquer ponto do texto • O primeiro impulso é o de criar uma classe que tenha como membros o pedaço de texto em questão e a formatação aplicada - inclusive uma instância da Fonte.

Flyweight



Num texto muito longo e bem formatado, pode haver centenas de ocorrências. Então, o consumo de memória com a solução apresentada pode tornar a navegação no texto bastante lenta.
• E é neste caso que se aplica o Flyweight.

Flyweight

• A racionalização do uso da memória se dá através do compartilhamento das partes imutáveis das instâncias das classes.
• No caso das fontes, isso significa criar uma parte fixa com a representação gráfica de cada caractere enquanto as variações de formatação permitidas, podem ser armazenadas da forma tradicional, dentro da própria instância da classe aonde a formatação está aplicada.

Flyweight

Decorator

• Os decoradores fornecem uma alternativa flexível ao uso de subclasses para extensão de

Relacionados

  • Padrões de Projetos
    5705 palavras | 23 páginas
  • Tccc
    5131 palavras | 21 páginas
  • 2 Avaliando o Aprendizado
    257 palavras | 2 páginas
  • teste
    5962 palavras | 24 páginas
  • Itil e cobit
    2759 palavras | 12 páginas
  • ABSTRACT FACTORY
    109485 palavras | 438 páginas
  • Orientador De Estudos APD2 2 Respostas
    3968 palavras | 16 páginas
  • Design Patterns
    1309 palavras | 6 páginas
  • Design Patterns
    1430 palavras | 6 páginas
  • Padrões de projetos
    23731 palavras | 95 páginas