Artigo Clube Delphi 110 - POO – Crie sistemas flexíveis, expansíveis e com baixo custo de manutenção
Artigo da Revista Clube Delphi Edição 110.
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da ClubeDelphi 110
POO – Crie sistemas flexíveis, expansíveis e com baixo custo de manutenção
Programando para interfaces, usando polimorfismo e padrões de projetos
|
Do que trata o artigo |
|
Fundamentos de OO: abstração, encapsulamento, polimorfismo e herança. Mostra como criar e utilizar interfaces, separar responsabilidades e aplicar padrões de projeto (Design Patterns). |
|
Para que serve |
|
Aumentar o conhecimento sobre POO para desenvolver sistemas mais flexíveis com baixo custo de manutenção, tornando a arquitetura de sistemas mais expansível. |
|
Em que situação o tema é útil |
|
As boas práticas apresentadas neste artigo são úteis ao desenvolver aplicações Delphi de qualquer tipo, sejam aplicações comerciais, desktop, web, pois a OO pode ser empregada com sabedoria em qualquer situação, tornando a arquitetura mais robusta. |
Resumo do DevMan
Este artigo mostra para você o caminho a ser seguido para criar sistemas flexíveis que tenham baixo custo de manutenção. Aqui não será discutido, o que é uma abstração ou uma interface, mais sim como, quando, porque e qual a melhor maneira de usar este e outros recursos.
Programar orientado a objeto não é difícil. É tão fácil que até os programadores mais inexperientes programam utilizando a orientação a objetos, antes mesmo de saber que existe esta forma de programar. Isto pode ser notado, por exemplo, ao criar um novo formulário. Quando você pede um novo formulário (File + New + Form), o que acontece de verdade é que o IDE cria automaticamente para você, uma classe que herda as características necessárias para um formulário. É esta facilidade que gera alguns problemas.
Devido à grande facilidade, que permite ao programador codificar sem a necessidade de seguir um padrão específico, os fundamentos da orientação a objetos muitas vezes são ignorados e quando são utilizados, acabam por ser utilizados de maneiras pouco eficientes, levando o programador a pensar que: ou ele não sabe programar orientado a objeto, ou programar orientados a objeto é muito difícil e não vale a pena o tempo gasto em relação aos benefícios que traz. Não importa o que você pensa, o fato é que querendo ou não, sabendo ou não, em Object Pascal você sempre está programando OO. O “segredo” é saber usar os fundamentos da OO da melhor maneira possível para o seu caso.
O foco deste artigo não é apresentar os fundamentos da OO, mas sim abordar a melhor maneira de usá-los, aplicando alguns dos principais princípios da programação OO para que o resultado seja um programa flexível, como a nossa realidade exige.
O Jogo
Para entender quais as vantagens e desvantagens da OO, imagine que você criou um jogo que simula o desempenho de diferentes tipos bolas em ambientes diferentes. Todas as bolas do jogo podem rolar ou quicar. Neste jogo, você usou a herança para reduzir ao máximo a duplicação de código. Você criou uma superclasse TBola herdada por todos os outros tipos de bolas (Figura 1).
Figura 1. Primeiro design para o simulador (framework)
Na Figura 1 podemos observar que:
· Além de TBolaDeCouro e TBolaDePlastico podem existir outros tipos de bolas que herdam de TBola;
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Clique aqui e acesse o Leitor Digital DevMedia para ler este artigo completo.

2 COMENTÁRIOS
Então, estou aprimorando meus conhecimentos em POO e achei seu artigo muito interessante, fiz todos os passos, e acompanhei seu artigo detalhadamente ...
Mas pra minha surpresa, no final de tudo, qdo fui copilar e executar, aparece a mensagem de q está faltando o arquivo "Bola.dcu".
Apaguei tudo, e refiz suspeitando de um possível erro de minha parte, mas p/ minha surpresa, a mensagem persiste...
Também já tentei deixar somente o DPR, DFM e todos os PAS, e executei o BUILD ALL, mas tb não funcionou, gostaria de saber se vc poderia me dar uma "luz" ...
Desde já agradeço a atenção.
Space do autor


1
0
