Teoria Flashcards
(20 cards)
Factory Method
O Factory Method é um padrão criacional de projeto que fornece uma interface para criar objetos em uma superclasse, mas permite que as subclasses alterem o tipo de objetos que serão criados
Abstract Factory
O Abstract Factory é um padrão de projeto criacional que permite que você produza famílias de objetos relacionados sem ter que especificar suas classes concretas.
Builder
O Builder é um padrão de projeto criacional que permite a você construir objetos complexos passo a passo. O padrão permite que você produza diferentes tipos e representações de um objeto usando o mesmo código de construção.
Prototype/Clone
O Prototype é um padrão de projeto criacional que permite copiar objetos existentes sem fazer seu código ficar dependente de suas classes.
Singleton
O Singleton é um padrão de projeto criacional que permite a você garantir que uma classe tenha apenas uma instância, enquanto provê um ponto de acesso global para essa instância.
Adapter
O Adapter é um padrão de projeto estrutural que permite objetos com interfaces incompatíveis colaborarem entre si.
Bridge
O Bridge é um padrão de projeto estrutural que permite que você divida uma classe grande ou um conjunto de classes intimamente ligadas em duas hierarquias separadas—abstração e implementação—que podem ser desenvolvidas independentemente umas das outras.
Composite
O Composite é um padrão de projeto estrutural que permite que você componha objetos em estruturas de árvores e então trabalhe com essas estruturas como se elas fossem objetos individuais.
Decorator
O Decorator é um padrão de projeto estrutural que permite que você acople novos comportamentos para objetos ao colocá-los dentro de invólucros de objetos que contém os comportamentos.
Facade
O Facade é um padrão de projeto estrutural que fornece uma interface simplificada para uma biblioteca, um framework, ou qualquer conjunto complexo de classes.
Flyweight/Cache
O Flyweight é um padrão de projeto estrutural que permite a você colocar mais objetos na quantidade de RAM disponível ao compartilhar partes comuns de estado entre os múltiplos objetos ao invés de manter todos os dados em cada objeto.
Proxy
O Proxy é um padrão de projeto estrutural que permite que você forneça um substituto ou um espaço reservado para outro objeto. Um proxy controla o acesso ao objeto original, permitindo que você faça algo ou antes ou depois do pedido chegar ao objeto original.
Padrões estruturais
Adapter Bridge Composite Facade Flyweight Proxy
Padroes criacionais
Factory Method Abstract Factory Builder Prototype Singleton
SOLID
[S]ingle Responsibility Principle (Princípio da responsabilidade Única)
[O]pen/Closed Principle (Princípio aberto/fechado)
[L]iskov Substitution Principle (Princípio substituição de Liskov)
[I]nterface Segregation Principle (Princípio segregação de interfaces)
[D]ependecy Inversion Principle (Princípio da inversão de dependências)
[S]ingle Responsibility Principle (Princípio da responsabilidade Única) SRP
Uma classe deve ter um e apenas um motivo para mudar, o que significa que uma classe deve ter apenas uma função.
[O]pen/Closed Principle (Princípio aberto/fechado) (S.R.P.)
Os objetos ou entidades devem estar abertos para extensão, mas fechados para modificação.
[L]iskov Substitution Principle (Princípio substituição de Liskov)
Uma classe derivada deve ser substituível por sua classe base
[I]nterface Segregation Principle (Princípio segregação de interfaces)
Um cliente nunca deve ser forçado a implementar uma interface que ele não usa, ou os clientes não devem ser forçados a depender de métodos que não usam. Por isso devemos ter interfaces mais específicas, fatiar as grandes em menores.
[D]ependecy Inversion Principle (Princípio da inversão de dependências)
- Módulos de alto nível não devem depender de módulos de baixo nível. Ambos devem depender da abstração.
- Abstrações não devem depender de detalhes. Detalhes devem depender de abstrações.