Git Product home page Git Product logo

mba-design-patterns's Introduction

mba-design-patterns

https://refactoring.guru/design-patterns

SRP - Single Responsibility Principle

Devemos separar coisas que mudam por motivos diferentes

DIP - Dependency Inversion Principle

Componentes de alto nível não devem depender de componentes de baixo nível, eles devem depender de abstrações

OCP - Open/Closed Principle

Fechado para modificação e aberto para extensão Crie pontos de extensão, evitando mexer no que já está funcionando e evitando fragilizar o código

LSP - Liskov Substituion Principle

ISP - Interface Segregation Principle

-- design patterns

DTO - Data Transfer Object

Objeto que só tem propriedades, sendo utilizado para transporte entre camadas da aplicação

Repository

Realizar a persistência de aggregates (clusters de objetos de domínio como entities e value objects), separando essa responsabilidade da aplicação

Adapter

Converte a interface de uma classe em outra esperada pelo cliente, permitindo que classes incompatíveis trabalhem juntas

Strategy

Criar comportamento intercambiável

Dynamic Factory

Criar uma instância com base em uma string

Presenter

Formatar e adequar um determino conjunto de dados às necessidades do cliente

Decorator

Permite acrescentar funcionalidades a um objeto existente (OCP)

Controller

Conecta o driver com a aplicação, repassando os dados de entrada e retorno a saída de acordo com o drive

Composition Root

Entrypoint da aplicação, onde são criadas as instâncias utilizadas pelos componentes, monta o grafo de dependências da aplicação

Mediator

Cria um mecanismo de notificação para reduzir o acoplamento entre os objetos

Livros

GoF Head First - Design Patterns Patterns of Enterprise Application Architecture

mba-design-patterns's People

Contributors

diego-machado avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.