Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Trilha .Net - Programacao funcional usando f#

52 views

Published on

Programação funcional usando F#

Published in: Education
  • Be the first to comment

Trilha .Net - Programacao funcional usando f#

  1. 1. Globalcode – Open4education Trilha .NET – Programação funcional usando F# Gabriel Schade Cardoso Microsoft MVP | Software Engineer | Mestre em Computação Aplicada | Professor | Escritor
  2. 2. Globalcode – Open4education Mestre em Computação Aplicada (IA) Microsoft MVP – Dev. Technologies Software Engineer Revisor Escritor Gabriel Schade Cardoso
  3. 3. Globalcode – Open4education Programação Funcional Quem aqui sabe o que é isso? Isso é o ícone da F# Foundation F# também é .NET
  4. 4. Globalcode – Open4education Programação Funcional Programação funcional é difícil Programação funcional é diferente
  5. 5. Globalcode – Open4education Programação Funcional Interfaces Polimorfismo Herança Encapsulamento Generics SOLID ... Funtores; Unions; Currying; Aplicação Parcial; Monads; Unions; ...
  6. 6. Globalcode – Open4education Programação Funcional Programação funcional é bem diferente de programação orientada à objetos; Podemos aprender muito com F#; É um paradigma diferente;
  7. 7. Globalcode – Open4education Programação Funcional Ao aprender um novo paradigma, você aprende uma nova forma de ver os problemas.
  8. 8. Globalcode – Open4education Programação Funcional
  9. 9. Globalcode – Open4education Programação Funcional Binding > Assignment
  10. 10. Globalcode – Open4education Programação Funcional Imutabilidade por padrão
  11. 11. Globalcode – Open4education Programação Funcional Não definimos tipos São fortemente tipados
  12. 12. Globalcode – Open4education Programação Funcional Funções são valores
  13. 13. Globalcode – Open4education Programação Funcional Funções são valores
  14. 14. Globalcode – Open4education Programação Funcional Criação rápida de tipos para seu domínio
  15. 15. Globalcode – Open4education Programação Funcional Dá pra usar no C#
  16. 16. Globalcode – Open4education Programação Funcional Inclusive ele respeita a imutabilidade
  17. 17. Globalcode – Open4education Programação Funcional Dá pra verificar o equivalente em C# do tipo Pessoa
  18. 18. Globalcode – Open4education Programação Funcional Criação rápida de tipos para seu domínio
  19. 19. Globalcode – Open4education Programação Funcional Utilizamos Pipeline |> E composição >>
  20. 20. Globalcode – Open4education Programação Funcional Pipeline é utilizado para enfileirar várias operações, sempre jogando o valor antes do operador para a função após o operador
  21. 21. Globalcode – Open4education Programação Funcional Como usamos?
  22. 22. Globalcode – Open4education Programação Funcional Composição é utilizado para criar novas funções a partir das existentes conectando a saída de uma como entrada da próxima
  23. 23. Globalcode – Open4education Programação Funcional
  24. 24. Globalcode – Open4education Programação Funcional Features próprias Option
  25. 25. Globalcode – Open4education Programação Funcional O Option indica onde uma operação pode ou não retornar um valor.
  26. 26. Globalcode – Open4education Programação Funcional O Option indica onde uma operação pode ou não retornar um valor.
  27. 27. Globalcode – Open4education Programação Funcional Features próprias Option Unidades de Medida
  28. 28. Globalcode – Open4education Programação Funcional
  29. 29. Globalcode – Open4education Programação Funcional
  30. 30. Globalcode – Open4education Programação Funcional Unidades de medida causam erros de compilação
  31. 31. Globalcode – Open4education Programação Funcional Features próprias Option Unidades de Medida Type Providers
  32. 32. Globalcode – Open4education Programação Funcional Type Providers carregam valores dinâmicos baseados em um target. Planilhas de Excel Serviços REST World Bank HTML
  33. 33. Globalcode – Open4education Programação Funcional
  34. 34. Globalcode – Open4education Programação Funcional É possível gerar um tipo apontando para o HTML dessa página:
  35. 35. Globalcode – Open4education Programação Funcional Agora vamos acessar um dado específico:
  36. 36. Globalcode – Open4education Programação Funcional
  37. 37. Globalcode – Open4education Programação Funcional Agora vamos acessar um dado específico:
  38. 38. Globalcode – Open4education Programação Funcional Percorrer a coleção tratando os dados:
  39. 39. Globalcode – Open4education Programação Funcional
  40. 40. Globalcode – Open4education Programação Funcional Posso exibir isso no Console:
  41. 41. Globalcode – Open4education Programação Funcional Ou gerar um gráfico...
  42. 42. Globalcode – Open4education Programação Funcional Features próprias Option Unidades de Medida Type Providers Geração de Gráficos com facilidade
  43. 43. Globalcode – Open4education Programação Funcional Usando o Chart do GoogleCharts:
  44. 44. Globalcode – Open4education Programação Funcional
  45. 45. /gabrielschade /gabrielschade medium.com/@gabrielschade https://gabrielschade.github.io

×