DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
post favorito     comentários

Programação Orientada à Objetos x Programação Estruturada

Neste artigo fiz segundo meus conhecimentos e preferencias um comparativo sobre POO e Programação Estruturada.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo

Muito se tem visto, ouvido e lido sobre POO, tanto na internet quanto em revistas e livros sobre programação. Mas porque será que tão poucos programadores comentam e programam em POO se é tão mais simples, a reutilização de código é mais fácil e o sistema acaba tendo um grau de manutenabilidade muito maior? Talvez a resposta para está pergunta seja muito mais complexa do que podemos imaginar. Mais o que realmente diferencia uma programação orientada a objetos de uma programação estruturada com reutilização de código?

Fiquei por meses pesquisando e estudando sobre as duas formas de programação. Acabei chegando as minhas proprias conclusões. Ambas as formas de programação possuem seus altos e baixos. Ambas possuem vantagens e desvantagens. Acredito que o ideal seria termos conhecimento sobre ambos os conceitos e tirarmos o melhor proveito deles. Sei que muitos programadores iram discordar de mim já que muitos trabalham com a programação estruturada e acreditam fielmente que o Delphi não foi projetado para se trabalhar com POO (Programação Orientada a Objetos), já outros ficam completamente indignados quando ouvem alguém dizer que a linguagem pascal (ou delphi language) é "incompativel" com a POO, e são programadores devotos dela.

Hoje fazendo algumas pesquisas aqui no forum mesmo, vi uma pessoa citar que leu em algum livro que a POO consome mais memória, ao ler isso nem sei explicar o que eu senti. Afinal, o que garante a qualidade final de um software? Na minha opinião, a programação seja ela POO ou estruturada, é uma arte. O programador ao adentrar neste mundo tem que estar disposto a aprender, se aprimorar e tratar um novo projeto como um bebê. Um novo projeto tem que ser olhado pelo programador como uma obra de arte e não como um amontoado de códigos e forms sem nenhum padrão. Antes de colocarmos a mão na massa, uma pesquisa de mercado, um levantamento sobre as necessidades dos usuários, é indispensável. Além de um projeto conciso e elaborado sobre o que vamos desenvolver. Na implementação do projeto temos que ter o mesmo empenho e disposição para a programação propriamente dita. Não basta apenas um bom projeto também se na hora "do vamos ver" for feito de qualquer jeito. Outra questão pouco abordada também é a segurança dos sistemas. Do que adianta um super software se a segurança dele for zero? Imagine você gastando horas e horas interminaveis na frente do computador, e ao distribuir seu sistema o mesmo é facilmente pirateado e você, desenvolvedor, acaba ficando sem nenhum retorno do mesmo? Ou então, um sistema com até um pouco de segurança, mas ao cair em mãos experientes de um ou outro cracker a segurança é quebrada.

Todos esses pontos devem ser analisados e estudamos na fase de elaboração do projeto. Ao iniciar a programação você deve saber exatamente o que e como desenvolver. Também é na fase de elaboração, que com estudos sobre as necessidades e funcionalidades que um sistema deva ter que escolhemos a melhor forma de programação (POO ou Estruturada). É claro que um mesmo software pode ser feito de ambas as formas, mas saber perceber e abstrair as vantagens de cada uma é o ponto chave para se escolher com qual vamos trabalhar em um ou outro projeto.

Minha intenção com este artigo não é convercer você sobre qual a melhor técnica, mas sim, dar a minha opinião sobre o tema. E para mim, uma integração entre as duas é a melhor. É certo que através de estudos, leituras e testes, muitos testes rs que você irá perceber qual a forma você melhor se adequa. Não tente se impor uma forma de programação porque um amigo ou professor disse que é melhor. A programação como tudo na vida é algo pessoal e cada um tem suas proprias preferencias.

Bom, chega de tanto blá blá blá e vamos aos conceitos de POO e Programação Estruturada propriamente dita.

Um sistema orientado a objetos é dividido em componentes e não mais em processos. Imagine um sistema financeiro, onde fariamos toda a administração de uma empresa. Teriamos as seguintes diferenças:

  • POO: Teriamos um objeto de fornecedores, por exemplo, onde todas as funções estariam agrupadas no objeto e em nenhum outro lugar.
  • Estruturada: As rotinas e funções de fornecedores estaria espalhada em todo o sistema, como em contas a pagar, contas a receber, cadastro, etc.

Imagine agora o cadastro de fornecedores, com todas as suas rotinas e funções:

  • Estruturada: Se você futuramente precisar alterar algum dado, função ou propriedade, o que em seu programa será afetado? O que terá que ser reestruturado? Imagine a você voltando a fase de testes e analisando todo o seu sistema até ter certeza que a alteração que você fez não desencadeou um finita listas de alterações que você terá que fazer em todo o sistema...
  • POO: as propriedades, funções e rotinas do objeto fornecedores estão todas em um único objeto, encapsulados, facilitando essa necessidade futura de alterações e atualizações.

Reutilização de código:

  • Estruturada: É possivel a reutilização de código na programação estruturada porém, em muitos casos você será obrigado a utilizar o famoso "copiar e colar".
  • POO: Com a POO você é capaz de elaborar um relacionamento entre diversos componentes, estabelecendo comunicação entre eles e facilitando assim, e muito a reutilização de código, além da facilidade de se poder herdar atributos e comportamentos de outros objetos.

Talvez uma pergunta nesse momento povoe a sua mente... Mas e a POO, é mais fácil de se programar com ela?

Talvez para nós que estamos acostumados com a estruturada o ínicio do trabalho com POO seja um pouco complicado, afinal estaremos nos deparando com um novo conceito de programação.

Imagine você desenvolvendo um programa, gastando horas e horas para elaborar, codificar e testar uma determinada rotina, agora se imagine tendo que implementar em um novo programa essa mesma rotina...

Com a Estruturada você gastaria mais horas e horas para implementá-las novamente, agora imagine com a POO, você criando um objeto ou componentes com toda essa rotina e num próximo programa apenas o utilizando... O ganho de produtividade será enorme, além de uma grande facilidade para você mesmo.

Para um próximo artigo irei desenvolver um exemplo de POO. Sei que nesse artigo expressei apenas minha opinião pessoal, mas espero a opinião de você comentando esse artigo, para juntos acrescentarmos mais e mais conhecimentos.

Um grande braço a todos.



Formada em 2004 no curso técnico de Informática Industrial e no final de 2005 no curso técnico de Processamento de Dados. Ambos os cursos ministrados pelo Centro Paula Souza na cidade de Mococa/SP. Atualmente executando trabalhos [...]

O que você achou deste post?
Conhece a assinatura MVP?
Publicidade
Serviços

Mais posts