Show Menu
Cheatography

Solid&DesignPatterns Cheat Sheet (DRAFT) by

Solid&DesignPatterns

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Solid

S - Single Respon­sib­ility Principle
(Princípio da Respon­sab­ilidade Única)
Uma classe deve ter apenas uma única respon­sab­ili­dade. Em outras palavras, uma classe deve ter apenas um motivo para mudar.
O - Open/C­losed Principle
(Princípio Aberto­/Fe­chado)
Uma classe deve estar aberta para extensão, mas fechada para modifi­cação. Isso significa que você deve ser capaz de adicionar novas funcio­nal­idades a uma classe sem precisar alterar seu código existente.
L - Liskov Substi­tution Principle
(Princípio da Substi­tuição de Liskov)
Os objetos de uma classe derivada devem poder ser substi­tuídos pelos objetos da classe base sem afetar o compor­tamento do programa. Em outras palavras, as classes filhas devem ser capazes de substituir as classes pai sem quebrar a funcio­nal­idade do sistema.
I - Interface Segreg­ation Principle
(Princípio da Segregação de Interf­aces)
Os clientes de uma classe não devem ser forçados a depender de interfaces que eles não usam. Em vez disso, as interfaces devem ser separadas em grupos menores e mais especí­ficos.
D - Dependency Inversion Principle
(Princípio da Inversão de Depend­ência)
Os módulos de alto nível não devem depender de módulos de baixo nível. Em vez disso, ambos devem depender de abstra­ções. Isso é feito através do uso de interfaces ou classes abstratas, que definem os contratos que as classes concretas devem seguir. Isso permite que as classes de alto nível sejam mais flexíveis e reutil­izá­veis, porque elas não dependem direta­mente das implem­ent­ações das classes de baixo nível.
O SOLID é uma forma de design de software que foi criada por Robert C. Martin para ajudar os desenv­olv­edores a criar sistemas melhores. Ele é composto por cinco princípios que ajudam a tornar o código mais robusto, flexível e fácil de manter. Esses princípios são muito usados na indústria de software para criar sistemas de alta qualidade.
 

Design Patterns

Singleton
Garante que apenas uma instância de uma classe seja criada e fornecida em toda a aplicação. Ele é comumente usado em situações onde há uma única instância de um recurso que precisa ser compar­tilhado por toda a aplicação.
Factory Method
Fornece uma interface para criar objetos em uma superc­lasse, mas permite que as subclasses alterem o tipo de objetos que serão criados. É útil quando você não sabe de antemão que tipo de objeto precisará criar.
Observer
Permite que um objeto observe outro objeto e seja notificado quando ocorrerem alterações nesse objeto. Ele é freque­nte­mente usado em situações onde há uma relação entre objetos que precisam estar cientes das mudanças uns dos outros.
Decorator
Permite que você adicione compor­tam­entos adicionais a um objeto dinami­cam­ente. Ele é útil quando você deseja adicionar funcio­nal­idade a um objeto existente sem modificar sua estrutura.
Facade
Padrão de design que fornece uma interface simpli­ficada para um conjunto complexo de classes. Ele encapsula a comple­xidade do sistema subjacente e fornece uma interface única e unificada para o cliente.
Design Patterns (Padrões de Projeto) são soluções comuns para problemas recorr­entes que surgem durante o desenv­olv­imento de software. Eles são um conjunto de boas práticas e soluções testadas e compro­vadas que podem ser aplicadas em diferentes projetos de software para resolver problemas especí­ficos.