Frameworks
Paulo Sérgio de Francischi RA 1111179
Framework
1. Definições
Desenvolver programas não é uma das tarefas mais fáceis. Exige longo período de dedicação e aprendizado de uma determinada linguagem ou de várias linguagens. Afinal nem sempre uma só atende a solução do problema.
Aliados a isso os desenvolvedores contam, ainda, com o fator tempo. Cada vez mais escasso num mundo dinâmico, altamente conectado.
Como minimizar esses problemas tão comuns no dia a dia de um desenvolvedor?
Uma das possíveis soluções seria a adoção de uma grande biblioteca de códigos que forneça uma estrutura pronta para usar e implementar que chamamos de Framework.
Abaixo veremos algumas das definições:
Um framework é um conjunto de classes cooperativas que implementam os mecanismos que são essenciais para um domínio de problemas específicos.
(Cay Horstmann)
Os frameworks são um projeto de subsistema constituído de um conjunto de classes abstratas e concretas e da interface entre elas.
(Wirfs-Brock e Johnson)
Um framework é uma estrutura genérica que pode ser ampliada para criar um subsistema ou uma aplicação mais específica. Ampliar o framework pode envolver o acréscimo de classes concretas, que herdam operações de classes abstratas no framework.
(Ian Sommerville)
2. Características * Os frameworks oferecem um alto grau de reutilização – muito mais do que as classes individuais. * Um framework de aplicação fornece um conjunto de classes que um programador incrementa para construir uma aplicação, normalmente criando subclasses a partir de classes do framework. * O programador tem pouca ou nenhuma influência na ordem pela qual os métodos das classes fornecidas pelo programador são chamadas. A maioria das atividades ocorre no framework e, eventualmente, alguns objetos das classes definidas pelo usuário são construídos. Então, o framework chama seus métodos na ordem que julga apropriada. Este fenômeno normalmente é chamado de inversão de controle.