Artigo Clube Delphi Magazine 97 - Editorial
Artigo publicado pela Clube Delphi Magazine edição 97.
Clique aqui para ler essa revista em PDF.
Editorial
Certa vez criei uma unit daquelas tipo “faz tudo” (quem nunca criou sua util.pas que atire a primeira pedra). Lembro-me que existia um procedimento genérico que recebia um objeto como parâmetro e modificava uma determinada propriedade de nome fixo, Foo por exemplo. Esses objetos podiam ser de diversos tipos. Como bom conhecedor do Object Pascal, pensei de cara: declaro como parâmetro um tipo que seja comum (ancestral) a todas as classes que irei passar. Não adiantou, porque os objetos eram de tipos que possuíam diferentes ancestrais. Eu poderia usar RTTI e passar um TObject, testar um por um todos tipos, com o is e as e fazer um typecast, mas isso causaria uma forte dependência além de várias dezenas de ifs. Pensei outra alternativa, faço todas as minhas classes implementarem uma interface IFoo e declaro meu parâmetro do método da unit para aceitar um IFoo. Não daria, existiam classes que eu não podia modificar e aquilo seria mais POG (Programação Orientada a Gambiarra) do que POO. Foi aí que me lembrei da unit Typinfo. Yes! Então, fui de cara verificar a procedure SetPropValue, que recebe como parâmetro um objeto (qualquer coisa) e usa RTTI para configurar o valor da propriedade que você quiser. A propriedade pode ser qualquer uma, pois é passada como string e não depende do tipo. Resolvido meu problema, com uma linha, não dependi de tipo algum exceto TObject. O resultado foi:
SetPropValue(ObjetoPassado,'Foo',NovoValor);
Está certo que usar RTTI reduz em 5x a velocidade de um código compilado, mas pelo menos reduziu meu código em 100x, além de resolver meu problema de maneira elegante e sem apelar à POG. O que quero dizer com este exemplo é que a RTTI é um assunto tão importante, ao mesmo tempo que é tão pouco conhecido, que escolhemos como matéria de capa para esta edição especial. Confira sobre TypInfo, SetPropValue e muito mais de RTTI no excelente artigo de Gustavo Chaurais.
E temos muito mais nesta edição! Quer novidades? Que tal dicas do GridView, o MELHOR de um dos novos componentes do ASP.NET 2.0 do novíssimo RAD Studio 2007. Se quer Web, mas não em .NET, confira as 15 dicas trazidas pelo Fabrício e acabe com seus problemas no PHP. PHP também é o tema do artigo do Adriano, sobre GET e POST. Está começando? Não fique mais quieto quando o assunto for multicamadas, e aprenda com o editor como desenvolver suas primeiras aplicações distribuídas com chamadas remotas de procedimento, e também como trabalhar com a API do Windows no artigo do Adriano. E finalmente confira a conclusão do mini-curso de locadora on-line do Maikel.
Boa leitura, sucesso com o Delphi e ASP.NET 2.0!
Não deixe de conferir nosso novo BLOG: clubedelphiphp.blogspot.com
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo