Leitura comentada - Arquitetura Limpa - Capítulo 3, 4, 5 e 6 - Panorama dos Paradigmas

zodhdev

Felipe

Posted on May 12, 2024

Leitura comentada - Arquitetura Limpa - Capítulo 3, 4, 5 e 6 - Panorama dos Paradigmas

Descrição

Neste capítulo, o Bob Martin busca dar uma visão geral sobre os paradigmas de programação.

Programação Estruturada

Se refere ao uso de if/then/else e do/while/until em vez do uso de declarações goto. A programação estruturada impõe disciplina sobre a transferência direta do controle. A programação estruturada nos força a decompor um programa em um conjunto de pequenas funções comprováveis. Temos que testar essas pequenas funções para comprovar que atendem aos nossos propósitos. A programação estruturada é o motivo arquitetural de considerarmos decomposição funcional como uma boa prática.

Programação Orientada a Objetos (P.O.O)

Descobriram que a memória heap poderia armazenar um valor muito depois do retorno de uma função. Nisso, entenderam que era possível fazer uma função que instancia uma classe, variáveis locais se transformaram em variáveis de instância, e funções aninhadas se tornaram métodos. A consequência disso foi a descoberta do polimorfismo através do uso disciplinado de ponteiros de função. De forma geral, a P.O.O pode ser resumida em: a programação orientada a objetos impõe disciplina sobre a transferência indireta do controle. Uma interface pode servir para ser executada de forma que independa da implementação.

A programação orientada a objetos se sustenta a algumas coisas que existem, como encapsulamento, herança e polimorfismo. Contudo, Bob defende que essas coisas não existem por causa da P.O.O.

Inversão de dependência também é citada como sendo efeito do polimorfismo, de forma a ressaltar a dependência de interfaces ao invés de implementações - o fluxo de controle é delegado para a implementação, enquanto a única dependência é a interface. Para Martin, OO se trata da possibilidade de ter controle absoluto através do polimorfismo, sobre cada dependência do código de um sistema.

Programação Funcional

A programação funcional foi pensada partindo do principio de que valores dos símbolos não mudam, isso significa que uma linguagem funcional não tem nenhuma declaração de atribuição. A programação funcional impõe disciplina sobre a atribuição.

O Tio Bob diz que cada um dos paradigmas removem capacidades de um programador, considerando que cada um deles impõe algum tipo de disciplina, dizendo o que não fazer. Removem declarações goto, ponteiros de função e atribuições.


💖 💪 🙅 🚩
zodhdev
Felipe

Posted on May 12, 2024

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

What was your win this week?
weeklyretro What was your win this week?

November 29, 2024

Where GitOps Meets ClickOps
devops Where GitOps Meets ClickOps

November 29, 2024