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

[DEZ/2021] Codecon - Arquitetura de Software

[DEZ/2021] Codecon - Arquitetura de Software

Sempre rola uma frustração geral quando demoramos muito mais do que deveríamos para entregar uma feature que era pra ser simples. É aí que a arquitetura de software entra em ação! Com o objetivo de minimizar o trabalho de criar ou fazer modificações em um software, padrões arquiteturais dão um norte do que fazer ou não quando estamos criando ou modificando nossos projetos. Essa palestra irá apresentar o que é a Arquitetura de Software, porque ela existe, porque ela é importante e como ela funciona.

Camila Campos

December 09, 2021
Tweet

More Decks by Camila Campos

Other Decks in Technology

Transcript

  1. Arquitetura de Software @camposmilaa

  2. Amo séries, música e futebol feminino. Meu propósito de vida

    está ligado à educação e diversidade @camposmilaa Camila Campos
  3. Amo séries, música e futebol feminino. Meu propósito de vida

    está ligado à educação e diversidade @camposmilaa Camila Campos
  4. Amo séries, música e futebol feminino. Meu propósito de vida

    está ligado à educação e diversidade. @camposmilaa Camila Campos
  5. Genial Care

  6. Genial Care

  7. Genial Care

  8. Hora da historinha

  9. None
  10. None
  11. None
  12. None
  13. None
  14. None
  15. None
  16. por quê?

  17. por quê?

  18. Depois a gente volta e arruma! Precisamos entregar logo

  19. Depois a gente volta e arruma! (mentira, né?) Precisamos entregar

    logo
  20. Big ball of mud

  21. Entropia

  22. É muito mais fácil aumentar a desordem e o caos

    (entropia) do que manter algo organizado. Entropia
  23. Representa o grau de ordem e de previsibilidade existente num

    sistema. Sintropia
  24. Quando você foge da entropia, mudar seu código fica mais

    fácil.
  25. Arquitetura

  26. None
  27. None
  28. Uma boa arquitetura GRITA a intenção dela

  29. None
  30. None
  31. None
  32. Domain Driven Design

  33. None
  34. Linguagem ubíqua

  35. Linguagem ubíqua cliente

  36. Linguagem ubíqua usuário cliente

  37. Linguagem ubíqua cif cliente

  38. Linguagem ubíqua .... cliente

  39. Linguagem ubíqua cliente cliente

  40. Contextos delimitado

  41. Arquitetura em camadas

  42. presentation domain application rules infrastructure

  43. presentation domain application rules infrastructure

  44. presentation domain application rules infrastructure

  45. domain application presentation infra

  46. None
  47. None
  48. Tá, mas o que tem exatamente nessas camadas?

  49. Mundo externo

  50. banco de dados

  51. web

  52. frameworks

  53. jobs agendados

  54. terminal

  55. Core application

  56. None
  57. None
  58. o que o sistema é o que o sistema faz

  59. PRODUTO - nome - preço PEDIDO - data da compra

    CLIENTE - cpf - nome - data de nascimento
  60. None
  61. Adapters

  62. Adapter Conecta os dois mundos: controla o que precisa ser

    feito; apresenta o que precisa ser apresentado; traduz o que precisa ser traduzido; e por aí vai. •
  63. Qual a ideia?

  64. Qual a ideia? Independente de frameworks

  65. Qual a ideia? Independente de frameworks Independente de mecanismo de

    entrega
  66. Qual a ideia? Independente de frameworks Independente de mecanismo de

    entrega Independente de banco de dados
  67. Qual a ideia? Independente de frameworks Independente de mecanismo de

    entrega Independente de banco de dados Independente de agentes externos
  68. Facilmente testável!

  69. Regras do jogo

  70. Regras do jogo 01 Respeita as camadas

  71. None
  72. o que o sistema é o que o sistema faz

  73. coisas que meu sistema “não liga”

  74. comunicação do mundo externo com o core

  75. Regras do jogo 01 Respeita as camadas 02 Respeita a

    ordem das dependências
  76. None
  77. Por que isso é importante?

  78. • Tecnologia entendendo de negócio • • • Importância de

    pensar em arquitetura
  79. • Tecnologia entendendo de negócio • Manutenabilidade e velocidade •

    • Importância de pensar em arquitetura
  80. • Tecnologia entendendo de negócio • Manutenabilidade e velocidade •

    Felicidade e motivação das devs • Importância de pensar em arquitetura
  81. • Tecnologia entendendo de negócio • Manutenabilidade e velocidade •

    Felicidade e motivação das devs • Saber que está indo no caminho certo Importância de pensar em arquitetura
  82. Any fool can write code that a computer can understand.

    good programmers write code that humans can understand. Martin Fowler
  83. CRÉDITOS: O template da apresentação foi criado por Slidesgo, ícones

    da Flaticon, imagens e ilustrações da Freepik e Stories bit.ly/codecon-arquitetura-camila genialcare.com.br @camposmilaa Valeuzão!