https://github.com/emanoelcampos/modelo-de-pagamento-java8
Modelo de pagamento usando Java 8
https://github.com/emanoelcampos/modelo-de-pagamento-java8
casadocodigo java java8
Last synced: 12 months ago
JSON representation
Modelo de pagamento usando Java 8
- Host: GitHub
- URL: https://github.com/emanoelcampos/modelo-de-pagamento-java8
- Owner: emanoelcampos
- Created: 2022-08-31T18:22:47.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-08-31T18:47:28.000Z (almost 4 years ago)
- Last Synced: 2024-12-27T12:11:52.580Z (over 1 year ago)
- Topics: casadocodigo, java, java8
- Language: Java
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Modelo de Pagamento com Java 8
### Projeto criado para praticar os conceitos e principais pontos das APIs e features do Java 8. Projeto criado a partir da leitura do livro [Java 8 Prático](https://www.casadocodigo.com.br/products/livro-java8) da Casa do Código.
## Funcionalidades
Aplicação abstrai um modelo de pagamento de uma loja de digital goodies: venda de bens digitais. Venda de download de músicas, vídeos e imagens para serem utilizados em
campanhas publicitárias. As entidades do modelo de pagamento descrevem as características de clientes, pagamentos, produtos e um conceito de assinatura para membros.
- Produtos mais vendidos
- Produtos de cada cliente
- Base de dados
- Cliente mais especial
- Sistema de assinaturas
- Total de pagamentos
- Valores gerados por produto
- Relatórios com datas
## Aprendizados
O objetivo do projeto foi criar e evoluir a aplicação Java de um modelo de
pagamento de uma loja de produtos digitais, colocando
em prática todos os principais recursos e conceitos da linguagem Java aplicando
desde o mais simples ao mais avançado conceitos das APIs
e features do Java 8. Muitos códigos se repedem e podem facilmente ser substituídos por métodos
para facilitar a aplicação mas o objetivo é aprender na prática como cada conceito se comporta.
Conceitos aplicados no projeto:
- Interfaces Funcionais
- Lambda
- Collect
- Optional
- Stream
- Reduce
- Method Rererence
- Java Time