Curso Direto ao Ponto, mostrando um Caso de Uso interessante, que é o desenvolvimento de uma aplicação Web API em Asp.Net Core 6, para gerenciar as vagas num determinado Voo.
A ideia central é utilizar o Unit of Work Pattern, juntamente com o Pattern de Repositório para provar um ponto de falha de design que pode ser desastroso.
Vamos demonstrar 2 (duas) das formas de implementar o Pattern Unit of Work, mas no processo apresentaremos muitas features interessantes, como a separação do projeto em camadas, utilização do Pattern IOptions (da Microsoft) para ler dados do appsettings json de qualquer lugar da aplicação.
Neste ponto faremos uso do Life Cicle Singleton do Container de Injeção de Dependência do Asp.Net Core.
Na última seção apresentaremos 4 (quatro) dos 5 (cinco) S.O.L.I.D Principles na prática, fazendo uma pequena, porém necessária refatoração. Será quando apresentaremos, também, a nossa segunda abordagem para o Unit Of Work Pattern.
Um ponto muito interessante que abordaremos também é como lidar com a falta da tradicional Stratup Class, removida com o conceito de Minimal API. Recriaremos a mesma e adaptaremos a nossa Program CS.
Também enriqueceremos nossa API com a utilização de ProducesResponseTypes para indicar o modelo que passarmos e o tipo de StatusCode que esperamos receber.
Essa abordagem é importante demais para a perfeita documentação da nossa API, que faremos com o uso do Consagrado Swagger.
Também faremos o Versionamento da API com MS AspNetCore Versioning, Versioning Explorer e Swagger. Muito bom. Você vai gostar!
IMPORTANTE: O Curso tem como motivação o Caso de Uso de Voo e seus Passageiros com foco no Unit of Work Pattern, mas passaremos por diversas Features importantes do Asp.Net Core, assim como veremos algumas prática necessárias para o Design de Software, como o uso dos SOLID Principles, Clean Code e de outros Patterns e boas prática para o desenvolvimento Orientado a Objetos.
Torcemos para que gostem!