Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
INTERFACES GRÁFICAS BASEADAS EM BEHAVIOR ISMO (SWING)<br />
GOF, Addison-Wesley: 1995). Nesta publicação, os autores Erich Gamma, Richard Helm, Ralph Johnson<br />
e John Vlissides identificaram padrões no desenvolvimento de sistemas industriais, ou seja, observaram<br />
que vários programadores acabavam gerando soluções muito semelhantes para os problemas mais<br />
freqüentes no desenvolvimento de programas de computador. Detectaram também que o<br />
desenvolvimento de tais projetos exigia um grande esforço de reflexão acerca da ontologia dos<br />
problemas, consumindo muito tempo para ser desenvolvido e com a qualidade vinculada à experiência<br />
dos analistas responsáveis pelo projeto. Por essa razão, a gangue dos quatro resolveu documentar os<br />
padrões mais usados, permitindo aos novos programadores e analistas a redução do tempo necessário<br />
para identificar os aspectos centrais dos problemas mais comuns em computação. Ao todo, foram<br />
detectados 23 padrões de comportamento na modelagem de sistemas, subdivididos em três grandes<br />
grupos:<br />
?? Creational design patterns – relacionado à instanciação dos objetos ou grupos de objetos. Por<br />
exemplo, um sistema pode necessitar limitar o número de instâncias ativas de uma determinada<br />
classe ou então permitir que as características de uma classe sejam definidas em tempo de<br />
execução. Padrões definidos: Abstract factory, Builder, Factory Method, Prototype<br />
e Singleton.<br />
?? Structural design patterns – associado à relação entre as classes de um projeto, ou seja, a<br />
comunicação entre elas, ordem em que os objetos são instanciados, etc. Padrões definidos:<br />
Adapter, Bridge, Composite, Decorator, Facade, Flyweight e Proxy.<br />
?? Behavioral design patterns – estudo do comportamento dos objetos em relação ao seu meio<br />
ambiente, tratando isoladamente as características de um objeto e o seu comportamento. Grande<br />
parte dos componentes Swing foram implementados usando o padrão behaviorista chamado<br />
Observer, que iremos descrever com mais detalhes na próxima seção. Padrões definidos: Chainof-responsability,<br />
Command, Interpreter, Iterator, Mediator, Meme nto,<br />
Observer, State, Strategy, Template e Visitor.<br />
O termo design pattern, embora possa ser literalmente traduzido como padrão de projeto, deve<br />
ser visto como um jargão tecnológico, ou seja, usado em inglês, mesmo por falantes nativos de outras<br />
línguas. Além disso, o estudo de design patterns tornou-se referência de qualidade para todo profissional<br />
de informática. É indispensável que o aluno leia algum material completo sobre o assunto, que será<br />
retomado com mais profundidade na disciplina de Sistemas Orientados a Objetos II.<br />
Programação behaviorista - o paradigma modelo-visãocontrole<br />
(MVC)<br />
O termo behaviorismo remete à idéia de ação e reação, adotada por alguns estudiosos da mente<br />
(psicólogos, psiquiatras, etc.) como teoria de formalização do comportamento humano. A idéia é bem<br />
simples: você tem uma entidade que reage aos estímulos do meio ambiente, como por exemplo, uma<br />
pessoa gritar quando recebe um choque elétrico, uma bola se mover quando é chutada, uma lâmpada<br />
acender quando o seu interruptor é ligado, etc.<br />
No ser humano, esse conceito é um tanto quanto polêmico, pois não se pode afirmar o quanto do nosso<br />
comportamento é puramente behaviorista e o quanto é de natureza emocional, ainda pouco conhecida.<br />
Já em entidade artificiais, como componentes de programação, o reflexo condicionado é perfeitamente<br />
aplicável, pois todos os estímulos e reações de um componente serão previamente conhecidos, não<br />
havendo espaço para reações anômalas, de natureza emocional ou caótica.<br />
110