Skip to content

taiury/typescript-design-pattern-gof

Repository files navigation

Estudando design patterns com typescript

alt text


Objetivo

O objetivo desse repositório é passar por alguns padrões de projeto do livro GOF usando a linguagem typescript.


Instalando dependências

Após baixar o Repositório em seu computador use o comando yarn install ou npm install dentro da pasta para instalar as dependencias.

Eu estou usando o editor de texto vscode e um plugin chamado code runner para executar o código de forma independente.


Padrões de projeto de criação

Os padrões de projeto de criação são padrões que abstraem o processo de instanciação e criação de objetos. Eles ajudam a tornar um sistema independente de como seus objetos são representados, criados e compostos. Geralmente, atingem este objetivo delegando tarefas para outros objetos.

Esses padrões dão muita flexibilidade ao sistema, porque encapsulam o conhecimento sobre quais classes concretas são usadas. Além disso, ocultam o modo como as instâncias são criadas e compostas. O foco é eliminar conhecimento do cliente sobre o QUE, COMO e QUANDO está sendo criado e QUEM faz parte do processo de criação. veja exemplos deles aqui.

Padrões de projeto estruturais

Os padrões estruturais (structural) se preocupam com a forma como os objetos são compostos para formar estruturas maiores, veja exemplos deles aqui.

Padrões de projeto comportamentais

Os padrões de projeto comportamentais se preocupam com algoritmos e a atribuição de responsabilidades entre objetos. Os padrões comportamentais não descrevem apenas padrões de objetos ou classes, mas também os padrões de comunicação entre eles. Esses padrões caracterizam fluxos de controle difíceis de seguir em tempo de execução. Eles afastam o foco do fluxo de controle para permitir que você se concentre somente na maneira como os objetos são interconectados, veja exemplos deles aqui.

referencias

  • Professor luiz otávio miranda.
  • Livro Padrões de Projeto - Solucões Reutilizáveis de Software Orientado a Objetos.

Releases

No releases published

Packages

No packages published

Languages