Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[Workshop SorocabaJS 2018] Transformando código spaghetti em código lasagna

[Workshop SorocabaJS 2018] Transformando código spaghetti em código lasagna

Talysson de Oliveira Cassiano

December 08, 2018
Tweet

More Decks by Talysson de Oliveira Cassiano

Other Decks in Programming

Transcript

  1. Casos de uso Regras de negócio Banco de dados HTTP

    Serviços externos Tratamento de erros Logs
  2. Casos de uso Regras de negócio Banco de dados HTTP

    Serviços externos Tratamento de erros Serialização
  3. “ … if you're afraid to change something it is

    clearly poorly designed - Martin Fowler
  4. • Separação de conceitos • Princípio da responsabilidade única •

    Inversão de dependência • Testes automatizados
  5. Separação de conceitos + Responsabilidade única Junte o que muda

    pelo mesmo motivo, separe o que muda por motivos diferentes
  6. Arquitetura é como as unidades do seu software interagem priorizando

    as decisões importantes e postergando as menos importantes
  7. Registro de hóspede Checa documentos Valida cartão de crédito Aplica

    regras extras Salva os dados Caso de uso (aplicação) Regras de negócio (domínio)
  8. Registro de hóspede Checa documentos Valida cartão de crédito Aplica

    regras extras Salva os dados Caso de uso (aplicação) Regras de negócio (domínio) Portas de entrada
  9. Registro de hóspede Checa documentos Valida cartão de crédito Aplica

    regras extras Salva os dados Caso de uso (aplicação) Regras de negócio (domínio) Portas de entrada Exterior (infraestrutura)
  10. X

  11. • Buscar produções • Criar usuários • Adicionar à prateleira

    do usuário • Remover da prateleira do usuário