ORIENTAÇÃO A EVENTOS

Orientação a eventos é uma técnica que altera  profundamente a maneira de estruturar programas, especialmente os interativos. A idéia é trabalhar em três níveis: eventos, rotinas associadas e rotinas de apoio/biblioteca.
O nível dos eventos é, na verdade, uma coleção de ações que podem ser detectadas por um módulo chamado gerenciador de eventos (event dispatcher). Estas ações podem ser do usuário sobre os dispositivos de entrada (clicar o mouse ou digitar algo, por exemplo), também podem ser sinais do hardware (dados chegando no modem, tiques de relógios, etc.) ou de software (outros módulos ou mesmo outros programas podem lançar eventos). Cada ação percebida é codificada e caracterizada como um evento. A cada evento está associada uma rotina que é disparada quando seu evento ocorre. Estas rotinas ligadas formam o nível de rotinas associadas. Cada rotina associada pode chamar rotinas de apoio ou de biblioteca que a ajudam a realizar uma determinada tarefa. As rotinas de apoio e biblioteca formam o terceiro nível.
Normalmente, não se associam rotinas de biblioteca diretamente a eventos, sendo isto considerado um mau hábito de programação.
Os eventos não têm nenhuma restrição temporal, podendo ser atendidos simultaneamente (se a máquina e o sistema operacional o permitirem) ou não, e impõem uma mentalidade diferente aos programadores (entrando aí conceitos como multi-thread).
Assim, os programadores são forçados a separar o projeto em duas partes: uma para a interface e outra para o código. Na primeira parte, monta-se a interface com o usuário e com outros elementos que possam mandar mensagens para o programa.
Na segunda, cria-se o código para lidar com estes eventos. Como não se tem certeza da ordem da execução das rotinas associadas, cada uma delas tende a ter um alto grau de independência em relação às demais, incentivando uma programação mais "limpa" que alivia o trabalho do programador, evitando que ele se preocupe com o fluxo no código.

Geraldo César dos Santos Guerra (APS - Fromsoft)

REFLEXÃO SOBRE ASSOCIAÇÃO

Associação é algo muito sério, principalmente no mundo globalizado de hoje, mas é algo tão primitivo quanto a criação do universo ou o surgimento do ser vivo. Para variar, basta observarmos a natureza: a associação de prótons, elétrons e nêutrons formando o átomo, a associação de moléculas formando organismos, a associação e estruturação de abelhas numa colméia, a associação de hienas formando um forte grupo de ataque, a associação de búfalos em bando de defesa, etc.

No mundo dos negócios, estamos vivenciando uma grande movimentação nesse sentido, em todos as atividades: grandes, médias e pequenas empresas se fundindo, formação de redes objetivando poder de compra (farmácias, sacolões, etc.) , o boom do franchising, a crescente formação de cooperativas, e muitos outros movimentos.

As associações de classes não são novidade, mas com enfoque no mundo dos negócios globalizados de hoje, podemos observar que elas são peças fundamentais, representando poder.

A ABPC - Associação Brasileira de Programadores Cobol, como exemplo de força e determinação de seus associados e colaboradores, está formada com os seguintes objetivos:
* Poder político: defender os interesses dos associados como profissionais e como consumidores
* Poder mercadológico: promover a linguagem divulgando o status tecnológico em que se situa. Demonstrar a linguagem como base de grandes produtos, serviços e soluções, objetivando a satisfação de usuários e empresários. Apoiar as iniciativas de negócios Cobol.
* Poder da informação: fornecer aos associados o máximo de informação possível sobre Cobol. Promover infra-estrutura de ensino, cultura e nacionalização do Cobol.

Geraldo César dos Santos Guerra (APS - Fromsoft)