Skip to main content

Estrutura de pastas, arquivos e projetos

TÓPICOS: projetos; pastas; testes; arquivos;

Projetos

  • Nomenclatura ➜ Ex: NomeProjeto.Domain
    • Priorizar Inglês
  • Normalmente os projetos são Domain, Infra, AppService
    • AppService ➜ contém a ligação entre a infra e o domain
      • Quando se usa o pattern command, pode ser chamado o handler direto da controller
      • Padrão command é para se usar quando precisa reverter alterações ou a lógica é complexa
    • Domain ➜ contém toda a regra de negócio e declarações de classes
    • Infra ➜ contém toda a parte de comunicação para fora do projeto como API's de terceiros, leitura de arquivos, envio de e-mails
      • Não deve ser possível adicionar regras
        • Deve se tratar lista como IReadOnlyCollection ou IReadOnlyList

Pastas

  • Entidades ➜ Entities
    • Ex: Clientes.
  • Value Objects ➜ ValueObjects
  • Dto ➜ Dtos
  • Interface ➜ Interfaces
  • Helper ➜ Helpers

Arquivo

  • Nome do arquivo deve ser em PascalCase. Ex: ArquivoProcessamento.cs

Testes

  • Nomenclatura de projeto ➜ NomeProjeto.Domain.Tests
  • Nomenclatura de classes de teste ➜ Entities.Tests