Árvore genealógica da DataWindow, DataStore e DataWindowChild
Overview
Se você é um desenvolvedor PowerBuilder, certamente já cruzou caminhos com as famosas DataWindows, DataWindowChilds e DataStores. Mas você já parou para pensar sobre a genealogia dessas ferramentas fundamentais? Prepare-se para uma viagem às raízes desses objetos, em um relato pessoal recheado de descobertas, desafios e, como não poderia faltar, uma pitada de bom humor.
Quem trabalha com PowerBuilder acaba se tornando um grande amigo das DataWindows, DataWindowChilds e DataStores, mas provavelmente nunca parou para pensar quais são os ancestrais destes objetos, certo? Provavelmente eles possuem um ancestral comum. Afinal, possuem eventos e funções em comum e funcionamentos similares, certo? A lógica está certa mas, não. Eles não possuem um ancestral comum. Nem a DataWindowChild…É estranho mas, em termos de orientação a objetos, estes três não tem absolutamente nada em comum. (Apesar de compartilharem eventos e funções comuns.)
As heranças são as seguintes:
- GraphicObject -> WindowObject -> DragObject -> DataWindow
- NonVisual Object -> DataStore
- Structure -> DataWindowChild
Como você pode ver, são famílias bem diferentes… isso já foi um grande pé no saco uma grande peleja, mas sobrevivi. Apesar das diferenças, funções similares a ShareData ainda funcionarão com eles, independente da combinação.
Alguns especialistas afirmam que o PowerBuilder, a partir da versão 12, implementa uma interface única tanto para a DataWindow quanto para a DataStore e isso pode ser considerado uma benção.