Programação funcional em .NET Explore um novo universo
Gabriel Schade CardosoPrefácio
Apesar do ganho recente de popularidade, a programação funcional não é algo novo. Por volta dos anos 50 no Massachusetts Institute of Technology (MIT), a linguagem Lisp foi desenvolvida. Esta foi responsável por introduzir diversos conceitos utilizados no paradigma funcional até hoje.
Desde então, o paradigma funcional esteve muito mais presente em pesquisas científicas e na academia do que na indústria. Hoje, quase 70 anos depois, este cenário previamente estabelecido vem mudando, principalmente por conta da incorporação de diversos conceitos funcionais em linguagens populares como Java e C#.
Com isso, cria-se novas formas de construir programas eficientes e de alta manutenibilidade. Mas para isso, será necessário desenvolver um novo mindset para desenvolvimento de software.
Um dos objetivos deste livro é desmistificar o paradigma funcional através de exemplos práticos e aplicações reais, para que este tipo de desenvolvimento seja cada vez mais popular entre os desenvolvedores.
O que você encontrará neste livro
Este livro foi escrito para desenvolvedores que possuam conhecimento intermediário ou alto em Orientação a Objeto e conceitos gerais de programação. Em muitos exemplos, será feito um paralelo entre os principais conceitos relacionados à Orientação a Objetos e programação funcional.
É bastante desejável, mas não obrigatório, que o leitor tenha um conhecimento prévio da linguagem C#, porque os exemplos serão implementados nela. Para facilitar a compreensão de desenvolvedores menos experientes nessa linguagem, serão dadas pequenas explicações sobre alguns conceitos.
Como linguagem funcional, usaremos o F#, a linguagem voltada a este paradigma na plataforma .NET. Apesar de o F# estar entre as três principais linguagens da Microsoft, juntamente com C# e VB, ela ainda não é muito popular entre os desenvolvedores da plataforma.
Por conta disso, as funcionalidades e os conceitos usados no livro serão explicados com uma quantidade maior de detalhes. Com isso, você, leitor, poderá focar nos conceitos deste paradigma de programação e não ter de gastar tempo compreendendo uma nova linguagem ou sintaxe.
Ao longo do livro, serão ilustrados diversos conceitos deste paradigma de programação, bem como suas aplicações. Os capítulos iniciais terão um foco mais teórico, com exemplos mais simples para que você possa manter o foco nos conceitos apresentados.
Depois disso, nos quatro últimos capítulos, focaremos na prática e na utilização dos conceitos teóricos aprendidos, trazendo a aplicação mais próxima do dia a dia do desenvolvedor. Isso será feito utilizando exemplos com estruturas de dados imutáveis, funcionalidades importantes do paradigma funcional e através de uma aplicação web voltada para este paradigma.
O principal objetivo deste livro é encorajar o leitor a ingressar neste mundo desafiador (e muito divertido!) da programação funcional, em que o primeiro passo é aprender a pensar diferente.
Edição atualizada: agora todos os projetos do livro utilizam a plataforma .NET Core, a nova plataforma open-source e multiplataforma do .NET. O livro foi totalmente atualizado para utilizarmos a tecnologia mais recente da Microsoft. Além disso você poderá construir aplicações multiplataformas em .NET utilizando os sistemas operacionais Linux e Mac.
Sumário
- 1 O paradigma funcional
- 1.1 Mas afinal, o que é programação funcional?
- 1.2 O que ele é F# e por que vamos usá-lo?
- 1.3 Começando a programar com C# e F#
- 1.4 Resumo
- 2 Conceitos fundamentais
- 2.1 Acoplamentos e dependências implícitas
- 2.2 Efeitos colaterais e imutabilidade
- 2.3 Enfatize expressões
- 2.4 Resumo
- 3 Funções e valores
- 3.1 Funções como membros de primeira ordem
- 3.2 Organizando suas funções
- 3.3 Funções de alta ordem
- 3.4 Currying e aplicações parciais
- 3.5 Resumo
- 4 Funções, operadores e mais funções
- 4.1 Operadores como funções
- 4.2 O operador pipeline
- 4.3 Compondo funções
- 4.4 Resumo
- 5 Tipos, não classes
- 5.1 Se não são classes, o que são?
- 5.2 Controle de fluxo com expressões
- 5.3 Apelidos ou abreviações para tipos
- 5.4 Tuplas
- 5.5 Records
- 5.6 Discriminated unions
- 5.7 Unidades de medida
- 5.8 Resumo
- 6 Programação web com F#
- 6.1 Páginas e serviços
- 6.2 Orientação a Objetos em F
- 6.3 ASP.NET MVC e Web API em F
- 6.4 Resumo
- 7 Persistência e coleções
- 7.1 Banco de dados através de JSON
- 7.2 Criação do domínio
- 7.3 Trabalhando com listas imutáveis
- 7.4 Percorra listas utilizando recursividade
- 7.5 Resumo
- 8 Transporte e transformação dos dados
- 8.1 Funções de alta ordem para consultas
- 8.2 A camada de transporte
- 8.3 O início dos universos paralelos
- 8.4 Consultas e retornos com agregações
- 8.5 Resumo
- 9 Manipular e gerenciar os erros
- 9.1 Analisando um caso de uso
- 9.2 Validações através de exceções
- 9.3 O caminho dos trilhos
- 9.4 Abordagem de trilho para atualização de cliente
- 9.5 Conclusão
- 10 Referências bibliográficas
Dados do produto
- Número de páginas:
- 323
- ISBN:
- 978-85-94188-15-1
- Data publicação:
- 10/2017