270 - Como modelar entidades do domínio com PROGRAMAÇÃO FUNCIONAL? | theWiseDev Functional

  Рет қаралды 2,529

Otavio Lemos

Otavio Lemos

Күн бұрын

Пікірлер: 21
@alefeans
@alefeans 2 жыл бұрын
Excelente conteúdo professor! Como sugestão, gostaria de deixar uma outra alternativa ao uso de Records e Protocols para modelagem de entidades em Clojure que é muito utilizada pela comunidade (e também na empresa onde trabalho), que é feita através do uso de bibliotecas como Schema, clojure.spec ou Malli. Nessa abordagem, declaramos apenas o "shape" dos dados que representam as entidades dos nossos sistemas, ou seja, seus atributos e os valores aceitos por estes atributos, tratado-os assim apenas como simples "dados", e os "comportamentos" são declarados como funções que operam nestes dados. Seguindo este modelo mais orientado a dados e funcional, o ideal é que toda validação/parsing/coercion desses dados ocorra nas "bordas" do sistema, removendo a necessidade de "type guards" ou coisa semelhante nas camadas mais internas da aplicação que tendem a conter apenas funções puras. Como benefício, a aplicação se torna mais simples, afinal não misturamos dados com comportamentos como acontece em OOP e não precisamos criar ou implementar Protocols para novos Records que nossa aplicação venha a suportar.
@otaviolemos
@otaviolemos 2 жыл бұрын
Opa, falei de schemas no meu vídeo mais recente! Dá uma olhada! Valeu!
@tarciorocha333
@tarciorocha333 2 жыл бұрын
Sempre com conteúdos de qualidade, Professor! Parabéns pelo conteúdo incrível.
@otaviolemos
@otaviolemos 2 жыл бұрын
Muito obrigado!
@matematicacomputacaoeafins5986
@matematicacomputacaoeafins5986 2 жыл бұрын
Acompanhando aqui seu conteúdo e achando muito bom, parabéns! Minhas observações (de quem está aprendendo também, mas no caso F#) F#, embora estaticamente tipada, não obriga você a definir os tipos (a menos que o código permita alguma ambiguidade, aí você precisará tipar uma ou outra variável) Eu ia falar do livro do Scott sobre modelagem funcional, mas foi uma das primeiras coisas que você falou :D Por fim, parabéns pelo excelente conteúdo!
2 жыл бұрын
essa característica do f# é muito interessante, inferência de tipo absurdamente poderosa edit: pra quem quiser saber mais sobre, se chama types providers
@farlloncosta5098
@farlloncosta5098 2 жыл бұрын
Professor, talvez você já tenha algum conteúdo no seu canal falando sobre a minha pergunta, mas qual seria o motivo que uma empresa iria preferir adotar o desenvolvimento de um sistema ou serviço dela utilizando uma linguagem funcional e não uma linguagem orientada a objetos? Tenho procurado a algum tempo sobre esta questão e as respostas obtidas ainda não me fazem sentido. Talvez eu ainda tenha que madurecer minha mentalidade, mas se conseguir me explicar com suas palavras ficarei extremamente grato.
@otaviolemos
@otaviolemos 2 жыл бұрын
Difícil falar rapidamente. Tem um vídeo que mostra benefícios concretos da PF. Uma das coisas que mais me convenceram da superioridade foi o ensaio do Paul Graham chamado “Revenge of the Nerds”. Esse aqui ó: www.paulgraham.com/icad.html
@aislanarislou
@aislanarislou Жыл бұрын
Em se tratando de pardigma funcional e tipagem dinâmica, acho que vc iria gostar bastante de trabalhar com Elixir.
@otaviolemos
@otaviolemos Жыл бұрын
Certamente!
@CharlesAugustosc
@CharlesAugustosc 2 жыл бұрын
Olá porfessor Otávio! Nos dê notícias do seu curso de TDD.
@arozendojr
@arozendojr Жыл бұрын
Dúvida, em relação dos camadas, gateway, cada camada deveria ter seus DTO e @types , e seus DTO e @Types que são atributos das interfaces de comunicação das camadas ?
@geriotaviano1185
@geriotaviano1185 2 жыл бұрын
conteudo muito massa. Vc poderia fazer um video sobre conteudos de programacao funcional, pois acho bem dificil achar materiais bons para estudar o assunto
@otaviolemos
@otaviolemos 2 жыл бұрын
Boa. Fica tranquilo que vai ter muita programação funcional por aqui!
@eded22319
@eded22319 2 жыл бұрын
Realmente o Rich Hickey tem uma inteligencia superior. Ele consegue tornar simple um assunto altamente complexo.
@otaviolemos
@otaviolemos 2 жыл бұрын
É fera demais.
@matheusm2894
@matheusm2894 2 жыл бұрын
Professor Otavio Lemos, como seria a estrutura de uma aplicação, em Clean Architecture, de um Servidor Websocket? Teria um WebSocketController?
@lucasayabe
@lucasayabe 2 жыл бұрын
Essencialmente seria a mesma coisa, mas na camada de adaptadores de interface você não teria um controller web clássico, você ia implementar uma classe que tem os específicos do web sockets ali nessa camada e usar os casos de uso por de baixo dos panos do mesmo jeito
@aristotelesbr
@aristotelesbr 2 жыл бұрын
Clojure é lindão, heim?
@otaviolemos
@otaviolemos 2 жыл бұрын
Estou achando também!
@aristotelesbr
@aristotelesbr 2 жыл бұрын
@@otaviolemos Se rolar um curso, eu tô na fila. abraço! 😅
Une nouvelle voiture pour Noël 🥹
00:28
Nicocapone
Рет қаралды 9 МЛН
小丑教训坏蛋 #小丑 #天使 #shorts
00:49
好人小丑
Рет қаралды 54 МЛН
Como Milei mudou a Argentina | Documentário
28:27
DW Brasil
Рет қаралды 623 М.
C# em 5 minutos - Reflection
5:54
Marco Diniz
Рет қаралды 9 М.
Análise: O mundo perante o expansionismo de Donald Trump | WW
22:38
But what is a neural network? | Deep learning chapter 1
18:40
3Blue1Brown
Рет қаралды 18 МЛН
290 - SQL ou NoSQL: EIS A QUESTÃO! 🤔 | theWiseDev SQL
25:29
Otavio Lemos
Рет қаралды 3,1 М.
I Spent 100 Hours Inside The Pyramids!
21:43
MrBeast
Рет қаралды 57 МЛН