Nest.JS | mônadas
Uma mônada é um padrão de design e uma estrutura matemática usada para modelar cálculos em um paradigma de programação funcional. É uma forma de compor computações de uma forma que separa as preocupações de lidar com o fluxo de dados e a lógica da computação.
Uma mônada é um tipo de contêiner que envolve um valor e fornece um conjunto de métodos, como map, flatMap, chain, etc., que permitem transformar o valor e encadear vários cálculos. Os métodos fornecidos por uma mônada tornam mais fácil raciocinar sobre o fluxo de dados e a lógica da computação e tornam possível escrever um código fácil de entender e manter.
O uso mais comum de mônadas é lidar com efeitos colaterais, como erros de manipulação, E/S, estado e não determinismo. As mônadas são uma forma de abstrair o tratamento de efeitos colaterais da lógica central do programa, tornando mais fácil testar e raciocinar sobre o programa.
Alguns exemplos de mônadas são Maybe Monad, Both Monad, IO Monad, List Monad, State Monad, Identity Monad, Reader Monad e Writer Monad. Cada um desses monads tem um propósito específico, por exemplo, Maybe Monad é usado para lidar com valores anuláveis, qualquer Monad é usado para lidar com erros, IO Monad é usado para lidar com operações de I/O, State Monad é usado para lidar com o estado e breve.
Vamos verificar essas mônadas:





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)