Coder Social home page Coder Social logo

willfelixd / padroes-de-projetos-com-java-puro-e-spring-em-uma-api-rest Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 147 KB

Repositório criado com o objetivo de praticar e explorar os padrões de projetos usando Java puro e o Spring Framework.

License: MIT License

Java 100.00%

padroes-de-projetos-com-java-puro-e-spring-em-uma-api-rest's Introduction

Padrões de Projetos com Java☕ e Spring🍃

Sobre o projeto

Repositório criado com o objetivo de praticar e explorar os padrões de projetos usando Java puro e o Spring Framework.

Padrões de Projeto

"São soluções consolidadas para problemas recorrentes no desenvolvimento e manutenção de software orientado a objetos."

O livro Design Patterns: Elements of Reusable Object-Oriented Software (1995) é a principal referência sobre o tema, a qual tornou os autores Gamma, Helm, Johnson e Vlissides conhecidos como “Gang of Four” (GoF).

São comumente classificados nas seguintes categorias:

  • Padrões Criacionais: Abstract Factory, Builder, Factory Method, Prototype, Singleton.
  • Padrões Comportamentais: Chain of Responsibility, Iterator, Observer, Strategy, Template Method.
  • Padrões Estruturais: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy.

  • Padrão Criacional - Singleton

    Permite a criação de uma única instância de uma classe e fornece um modo para recuperá-la.


    Padrão Comportamental - Strategy

    Simplifica a variação de algoritmos para a resolução de um mesmo problema.


    Padrão Estrutural - Facade

    Prove uma interface que reduza a complexidade nas integrações com subsistemas.

    Spring Framework

    O Spring é um framework open source para a plataforma Java criado por Rod Johnson e descrito em seu livro "Expert One-on-One: JEE Design e Development". Trata-se de um framework não intrusivo, baseado nos padrões de projeto inversão de controle e injeção de dependência.

    Explorando alguns padrões de projetos com Spring:

  • Singleton: @Bean e @Autowired;
  • Strategy: @Service e @Repository;
  • Facade: foi construída uma API REST com o mesmo objetivo desse padrão, abstrair a complexidade das seguintes integrações: Spring Data JPA e ViaCEP (Feign).

  • API REST Interface e Teste

    Tecnologias utilizadas

  • Java
  • Spring Framework
  • Spring Web
  • Spring Data JPA
  • H2 Database
  • OpenFeign
  • OpenAPI/Swagger
  • Links Úteis

    Java Design Patterns

    Spring Initializr

    Autor

    William Felix de Souza

    Linkedin: https://www.linkedin.com/in/william-felix

    E-mail: [email protected]

    Agradecimentos

    Digital Innovation One

    Venilton Falvo

    padroes-de-projetos-com-java-puro-e-spring-em-uma-api-rest's People

    Contributors

    willfelixd 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.