Vantagens e objetivos da POO
A programação orientada a objetos define seis objetivos sobrepostos para desenvolvimento de software. A POO se esmera em produzir software que tenha as seguintes características:
1. Natural
2. Confiável
3. Reutilizável
4. Manutenível
5. Extensível
6. Oportunos
Vamos ver como ela funciona para atender cada um desses objetivos.
Natural
A POO produz software natural. Os programas naturais são mais inteligíveis. Em vez de programar em termos de regiões de memória, você pode programar usando a terminologia de seu problema em particular. Você não precisa se aprofundar nos detalhes do computador enquanto projeta seu programa. Em vez de ajustar seus programas para a linguagem do mundo dos computadores, a OO o libera para que expresse seu programa nos termos de seu problema.
A programação orientada a objetos permite que você modele um problema em um nível funcional e não em nível de implementação. Você não precisa saber como um software funciona, para usá-lo: você simplesmente se concentra no que ele faz.
Confiável
Para criar software útil, você precisa criar software que seja tão confiável quanto outros produtos, como geladeiras e televisões. Quando foi a última vez que seu microondas quebrou?
Programas orientados a objetos, bem projetados e cuidadosamente escritos são confiáveis. A natureza modular dos objetos permite que você faça alterações em uma parte de seu programa, sem afetar outras partes. Os objetos isolam o conhecimento e a responsabilidade de onde pertencem.
Uma maneira de aumentar a confiabilidade é através de testes completos. A OO aprimora os testes, permitindo que você isole conhecimento e responsabilidade em um único lugar. Tal isolamento permite que você teste e valide cada componente independentemente. Uma vez que tenha validado um componente, você pode reutilizá-lo com confiança.
Reutilizável
Um construtor inventa um novo tipo de tijolo cada vez que constrói uma casa? Um engenheiro eletricista inventa um novo tipo de resistor cada vez que projeta um circuito? Então, por que os programadores continuam ‘reinventando a roda?’ Uma vez que um problema esteja resolvido, você deve reutilizar a solução.
Você pode reutilizar prontamente classes orientadas a objetos bem feitas. Assim como os módulos, você pode reutilizar objetos em muitos programas diferentes. Ao contrário dos módulos, a POO introduz a herança para permitir que você estenda objetos existentes e o polimorfismo, para que você possa escrever código genérico.
A OO não garante código genérico. Criar classes bem feitas é uma tarefa difícil que exige concentração e atenção à abstração. Os programadores nem sempre acham isso fácil.
Através da POO, você pode modelar ideias gerais e usar essas ideias gerais para resolver problemas específicos. Embora você vá construir objetos para resolver um problema específico, frequentemente construirá esses objetos específicos usando partes genéricas.
Manutenível
O ciclo de vida de um programa não termina quando você o distribui. Em vez disso, você deve manter sua base de código. Na verdade, entre 60% e 80% do tempo gasto trabalhando em um programa é para manutenção. O desenvolvimento representa apenas 20% da equação!
Um código orientado a objetos bem projetado é manutenível. Para corrigir um erro, você simplesmente corrige o problema em um lugar. Como uma mudança na implementação é transparente, todos os outros objetos se beneficiarão automaticamente do aprimoramento. A linguagem natural do código deve permitir que outros desenvolvedores também o entendam.
Extensível
Assim como você deve manter um programa, seus usuários exigem o acréscimo de nova funcionalidade em seu sistema. Quando você construir uma biblioteca de objetos, também desejará estender a funcionalidade de seus próprios objetos.
A POO trata dessas realidades. O software não é estático. Ele deve crescer e mudar com o passar do tempo, para permanecer útil. A POO apresenta ao programador vários recursos para estender código. Esses recursos incluem herança, polimorfismo, sobreposição, delegação e uma variedade de padrões de projeto.
Oportuno
O ciclo de vida do projeto de software moderno é frequentemente medido em semanas. A POO ajuda nesses rápidos ciclos de desenvolvimento. A POO diminui o tempo do ciclo de desenvolvimento, fornecendo software confiável, reutilizável e facilmente extensível.
O software natural simplifica o projeto de sistemas complexos. Embora você não possa ignorar o projeto cuidadoso, o software natural pode otimizar os ciclos de projeto, pois você pode se concentrar no problema que está tentando resolver.
Quando você divide um programa em vários objetos, o desenvolvimento de cada parte pode ocorrer em paralelo. Vários desenvolvedores podem trabalhar nas classes independentemente. Tal desenvolvimento em paralelo leva a tempos de desenvolvimento menores.
Comentários
Postar um comentário