Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Como saber quando devo usar determinado paradigma

POO devido a modularidade, melhor compreensão do código e entre outros benefícios é o mais utilizado, então devo sempre procurar utiliza-lo? Ou em aplicações mais simples e enxutas o procedural é mais indicado? Estou um pouco confuso ainda a respeito de qual paradigma utilizar em diferentes situações.

1 resposta
solução!

Olá, Leonardo. Tudo bem?

O paradigma de programação escolhido vai depender das características de cada problema. Alguns problemas são mais fáceis de se resolver com orientação a objetos, outros com programação procedural. As próprias linguagens de programação as vezes suportam mais de um paradigma.

Um paradigma é um modelo que define diferentes características, padrões, e estilos com o propósito de sanar um problema em particular. Desse modo, para escolher o melhor paradigma, é necessário entender as particularidades de cada um, para assim ser possível avaliar qual o mais adequado para solucionar cada problema.

Na programação procedural (as vezes chamada de programação estruturada) o código vai seguir uma sequência de instruções, ou seja, existe um padrão sequencial que define o passo a passo do que deve ser feito. É comum que blocos de lógica de código sejam agrupados em funções. Assim alguns dos principais aspectos da programação procedural são:

  • É excelente para programação de propósito geral.
  • Os códigos são mais simples.
  • Graças as funções, trechos de código podem ser reutilizados em diferentes partes do programa, sem a necessidade de duplicação de código.
  • A lógica do código segue uma abordagem top-down (de cima para baixo).

Já a programação orientada a objetos representa as entidades do mundo real por meio de classes. Cada instância de uma classe é chamada de objeto, onde estão encapsulados estados e comportamentos. É normalmente utilizada na solução de problemas mais robustos. Dessa forma, suas principais características são:

  • Os detalhes de implementação são "escondidos" dentro das classes por meio do Encapsulamento.
  • Uma classe pode derivar de outra através da Herança.
  • Métodos com o mesmo nome podem ter diferentes comportamentos utilizando o Polimorfismo.

Existem outros paradigmas além desses dois, como por exemplo, a programação funcional e a programação lógica.

Não existe um paradigma que seja o melhor para resolver todos os problemas. Assim, sempre é necessário analisar qual o mais apropriado para cada problema em particular.

Caso queira se aprofundar mais no assunto, deixo como recomendação um artigo da Alura que traz uma análise das diferenças entre a programação orientada a objetos e a programação estruturada, e também detalha as características da programação orientada a objetos.

Espero ter ajudado. Qualquer outra dúvida estou a disposição.

Abraços. Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!