Neste repositório encontra-se o projeto criado na aula [SOLID + MVC: Projeto completo com NodeJS, Typescript, Express e Prisma.
No projeto, desenvolveremos uma API Rest que possibilitará o cadastro de produtos bem como ações de venda e de compra deste mesmo produto diminuindo ou aumentando o estoque respectivamente. Será possível também listar todos os produtos cadastrados.
O acrônimo SOLID é um conjunto de princípios de design de código que visam facilitar a manutenção e a evolução do software. Ele foi introduzido por Robert C. Martin em 2000 e é composto por cinco princípios:
-
S - Single Responsibility Principle (Princípio da Responsabilidade Única)
-
O - Open/Closed Principle (Princípio do Aberto/Fechado)
-
L - Liskov Substitution Principle (Princípio da Substituição de Liskov)
-
I - Interface Segregation Principle (Princípio da Segregação de Interfaces)
-
D - Dependency Inversion Principle (Princípio da Inversão de Dependências)
O MVC é um padrão de arquitetura de software que separa a aplicação em três componentes principais: Model, View e Controller. O objetivo é separar a lógica de negócio da interface do usuário, facilitando a manutenção e a evolução do software.
-
Model - Representa a camada de dados da aplicação. É responsável por acessar o banco de dados, realizar operações de CRUD e representar os objetos de negócio.
-
View - Representa a camada de apresentação da aplicação. É responsável por exibir os dados ao usuário e capturar as interações do usuário.
-
Controller - Representa a camada de controle da aplicação. É responsável por receber as requisições do usuário, chamar os métodos de serviço e retornar a resposta ao usuário.