Baixe o app para aproveitar ainda mais
Prévia do material em texto
Reflexão 05 – Frameworks e Padrões. Padrões Fabrica. Nome: Lucas do Nascimento Macedo A princípio se faz necessário definir alguns conceitos. O primeiro deles é saber o que é um Framework, e logo em seguida o que é uma biblioteca. Ambos se assemelham muito, apesar de ter diferenças que caracterizam muito bem esses dois componentes. Um framework nada mais é do que um componente de reuso que pode ser estendido pela aplicação e vai ele vai usar a aplicação para conseguir executar. Já uma biblioteca é um componente de reuso que não pode ser estendido e também não usa a aplicação. Sabendo disso, agora poderemos responder algumas questões dessa reflexão. O Eclipse pode ser visto sim como um framework orientado a objetos visto que, se quisermos mudar alguma funcionalidade desta IDE é possível utilizar plug-in. Ou seja, no Eclipse temos uma fábrica abstrata e assim, podemos criar plug-ins modificando um pouco as configurações, recursos e funcionalidades desta IDE. Desta forma permitimos criar vários objetos de tipo diferentes, com diferentes funcionalidades, mas que tenha o mesmo objetivo, acrescentar mais funcionalidades de um ambiente de desenvolvimento. A criação aplicações reutilizando o Eclipse se dá de duas formas. A primeira e escrever plugin’s. Nesta, algumas versões do eclipse têm como base o núcleo do eclipse, em outras palavras, uma parte do núcleo é preservado fazendo assim, em cima desses uma inserção de do seu conjunto de plugin’s e recursos. Já a segunda, é uma forma alternativa que também dá certo, nesse caso é feito com o próprio produto, baseando assim em uma estrutura do eclipse conhecida como Rich Client Platform(RCP). Um exemplo de IDE’s que já possuem versões especificas, ou seja, já foram modificadas através de plugin’s são o Eclipse WTP e o Eclipse Modelagem. O Eclipse WTP é um projeto que visou disponibilizar aos usuários uma infraestrutura comum disponível em qualquer ambiente baseado no Eclipse que tem aplicativos ativos para Web. Já o Eclipse Modelagem é uma variante integrados de estruturas extensíveis que nos possibilitam resolver problemas do cotidiano. Como já dito, ele conta com um Framework chamado Eclipse Modeling, que por sua vez possui uma rica abstração para descrever, compor e manipular informações estruturadas. Antes de exemplificar aqui um hotspot, primeiro precisamos definir esse conceito, para que mais tarde seja mais fácil o entendimento do exemplo. Um hotspot é uma parte do código flexível que está dentro do framework e que pode ser modificada por alguma aplicação que possa a vir a fazer uso desse mais tarde. Desta forma podemos agora dar um exemplo de hotspot. Imagine que tenhamos dois sistemas de entregas de comida de duas empresas diferentes. Assim esses sistemas tem em comum algumas funções que são: cadastrar cliente, calcular preço dos produtos, lista os produtos, escolher um entregador, solicitar ao entregador que pegue o pedido no estabelecimento e em seguida entregue ao comprador. Sabendo que esse sistema faz isso para essas duas aplicações diferentes, o interessante a se fazer aqui seria um framework, entretanto, há um detalhe, apesar de ambas as empresas ofertarem esse tipo de serviço a forma como o sistema é implementado é diferente. Daí surge a necessidade de um framework com fábrica abstrata. Implementando um framework com fábrica abstrata e com alguns métodos abstratos, podemos chamar esse framework nas diferentes aplicações e, alterar o que necessário. Assim os hotspots aqui seriam todos os métodos abstratos que seriam alterados por diferentes aplicações. Um exemplo de hotspots dos métodos que dissemos acima poderia ser o método calcula preço final, uma vez que cada instituição tem um valor especifico para determinado produto. Por fim, vimos aqui que o Eclipse pode ser visto como um framework orientado a objetos, uma vez que não estamos falando somente da IDE, mas de um conjunto de ferramentas. Vimos também que o eclipse possui duas versões específicas sendo apresentadas a caracterizadas cada uma delas. E por fim, definimos o que é um hotspot e também criamos um exemplo para apresentar o que seria um hotspot na prática.
Compartilhar