Skip to main content

Os principais benefícios que a orientação a objetos traz para você e para seu código.

Este post faz parte de uma sequência de posts para desmistificar a orientação a objetos, esses posts serão:

#1 O que é a orientação a objetos, uma visão geral sobre orientação a objetos e como ela funciona.

#2 Os 4 Pilares da orientação a objetos.

#3 Os principais benefícios que a orientação a objetos traz para você e para seu código.

#4 como continuar evoluindo em orientação a objetos.

Se você chegou até aqui, primeiramente parabéns 😊, você já entendeu como a orientação a objetos funciona, mas por que devemos utilizar a orientação a objetos no sistema?

Como falei no primeiro POST, orientação a objetos não é o único paradigma de software que existe, então por que ele é um dos mais utilizados pelas empresas?

Por isso preparamos essa lista de motivos para o uso da orientação a objetos e como isso te ajuda a ter mais produtividade e menos trabalho ao desenvolver. Vamos lá!

Mais produtividade para escrever código e facilidade ao depurar.

O principal benefício da orientação a objetos é a possibilidade de reutilizar código, então, à medida que a quantidade de código escrito vai crescendo, mais código você tem disponível para “reutilizar” ou seja quanto mais código escrevemos, menos códigos precisamos escrever (PARADOXO).

Isso fica claro quando olhamos para a quantidade de bibliotecas e frameworks disponíveis no mercado open source, essas bibliotecas são um conjunto de objetos que podem ser reutilizados no seu sistema se você precisar, legal né?

E não para por ai, código orientado a objetos é mais fácil de ser depurado pois como o encapsulamento restringe os limites de atuação de um objeto, acaba ficando mais fácil de entender a origem do problema, isso ajuda você a salvar tempo que você usaria procurando o erro.

Efetividade do design da arquitetura de software.

Sim, uma boa orientação a objetos nasce quando você consegue planejar ao design arquitetural do seu sistema traduzindo elementos da vida real em classes e objetos, quem aqui nunca passou por aquela duvida de “como estrutura os arquivos do projeto”, ou até mesmo “como resolver aquele algoritmo complexo”.

Uma boa orientação a objetos deixa explicita a forma como pensamos no problema e por consequência gera um padrão de design a ser seguido, um modelo de desenvolvimento, facilitando assim a entrada de novos programadores na equipe e o desenvolvimento de novas funcionalidades.

Flexibilidade para desenvolver novas funcionalidades.

Vamos imaginar o caso de um sistema CRM que faz cadastro de pessoas físicas e uma nova funcionalidade de cadastro de pessoas jurídicas será acrescentada, nesse caso se você desenvolveu seus objetos corretamente, fica fácil estender o comportamento de uma possível classe “Pessoa” para conter informações de pessoas físicas e ou jurídicas.

Esse é o benefício do polimorfismo, quando você pode estender comportamentos dos objetos  sem necessariamente alterar código e sim criar código novo, com isso você ganha segurança de que seu sistema irá manter o comportamento esperado em cenários já conhecidos e pode se dedicar a desenvolver somente aos novos comportamentos.

Isso é um ganho para a confiabilidade do sistema e uma facilidade para o programador que pode manter a simplicidade e a extensibilidade do código.

Efetividade para resolver problemas.

Temos muitas linguagens que tem um legado incrível na história de software que tem um estilo mais imperativo como C, porém quanto mais código a gente escreve mais perto vamos ficando de um colapso completo do software, por outro lado, resolver problemas complexos com um paradigma mais funcional as vezes pode ser difícil.

A possibilidade de decompor problemas complexos em pequenas partes e desenvolver componentes especializados para resolver essas partes é um grande beneficio da OOP, por isso, devemos sempre pensar na especialização dos nossos objetos e na interação entre os objetos.

São muitos benefícios para você deixar de lado, não é? Pois bem, saiba que isso é só o começo uma boa orientação a objetos permeia quase todas as áreas de desenvolvimento de software, e para te dar uma visão de futuro, no próximo post vamos te dar umas dicas de o que você deve estudar para avançar na orientação a objetos e se tornar um programador ninja.

Gostou do conteúdo? Não esquece de seguir a gente no facebook e no instagram para receber drops diários para melhorar seu nível de desenvolvimento de software.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

0 Compart.
Twittar
Compartilhar
Pin
Compartilhar