Clean Node API Using TypeScript,TDD,and Clean Architecture
Clean Node API: Esta API faz parte do treinamento do Professor Rodrigo Manguinho (Mango) na Udemy. O principal objetivo é implementar uma API em Node.js usando TypeScript, TDD (Desenvolvimento Orientado por Testes), e princípios da Arquitetura Limpa. Este projeto se baseia nos princípios SOLID e nos melhores padrões de projeto para criar soluções escaláveis e de fácil manutenção.
Princípios da Arquitetura Limpa
Esta API incorpora os seguintes princípios:
- Princípios SOLID:
- Single Responsibility Principle (SRP): Cada classe possui uma única responsabilidade.
- Open-Closed Principle (OCP): Classes estão abertas para extensão, mas fechadas para modificação.
- Liskov Substitution Principle (LSP): Subtipos devem ser substituíveis por seus tipos base.
- Interface Segregation Principle (ISP): Interfaces específicas ao cliente, em vez de interfaces de propósito geral.
- Dependency Inversion Principle (DIP): Alto nível não deve depender de baixo nível; ambos devem depender de abstrações.
Outros Princípios de Desenvolvimento
- Separação de Responsabilidades (SOC): Separação clara das camadas de aplicação.
- DRY (Don't Repeat Yourself): Evitar duplicação de código.
- YAGNI (You Aren't Gonna Need It): Desenvolver apenas o necessário.
- KISS (Keep It Simple, Stupid): Manter a simplicidade no design e na implementação.
Padrões de Projeto Usados
Os seguintes padrões foram aplicados para tornar a API mais modular e robusta:
- Factory: Facilita a criação de objetos complexos.
- Adapter: Permite compatibilidade entre interfaces diferentes.
- Decorator: Adiciona funcionalidades sem modificar a estrutura básica.
- Proxy: Controla o acesso a recursos sensíveis.
- Dependency Injection (DI): Facilita a manutenção e teste ao injetar dependências.
A API oferece uma estrutura prática e eficaz para o desenvolvimento de aplicações escaláveis e modularizadas, aproveitando o poder dos testes e da arquitetura limpa.
clean-node-api:API em NodeJs usando打字稿,TDD,Clean Architecture,设计模式和SOLID原则
预估大小:187个文件
.eslintrc.json
357B
.gitignore
67B
package.json
2KB
.lintstagedrc.json
86B
package-lock.json
393KB
jest.config.js
756B
tsconfig-build.json
111B
tsconfig.json
286B
.eslintignore
59B
readme.md
4KB
203.23KB
文件大小:
评论区