Artigo Clube Delphi 114 - Abstract Factory

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (0)

Vamos entender a importância dos padrões de projeto, mais necessariamente dos padrões criacionais para tratamento de famílias de objetos distintas e a instanciação de seus objetos. Os padrões FactoryMethod e Abstract Factory serão implementados para então analisarmos suas vantagens.

Atenção: esse artigo tem uma palestra complementar. Clique e assista!

Atenção: esse artigo tem um vídeo complementar. Clique e assista!

[lead]Do que trata o artigo

Vamos entender a importância dos padrões de projeto, mais necessariamente dos padrões criacionais para tratamento de famílias de objetos distintas e a instanciação de seus objetos. Os padrões FactoryMethod e Abstract Factory serão implementados para então analisarmos suas vantagens.

Para que serve

Os padrões criacionais permitem uma flexibilização no ato de instanciar objetos pertencentes a uma hierarquia de classes. Isso é obtido através da decomposição do problema para privilegiar uma melhor manutenção do código. Ao fazer isso, conseguimos um fraco acoplamento e uma baixa coesão, que é tudo que um código orientado a objetos necessita.

Em que situação o tema é útil

Auxilia na refatoração de código e manutenções futuras, no caso de novos requisitos impactarem diretamente numa hierarquia de classes.

Resumo do DevMan

Na maior parte dos projetos orientados a objetos, quase sempre teremos que lidar com famílias de objetos e a necessidade de criarmos instâncias das inúmeras classes presentes ali. Nem sempre esse processo é bem coordenado e manipulado, sobretudo se considerarmos as mudanças nos requisitos futuros do software. Desta forma, pretendemos apresentar um padrão de projeto que torna essa tarefa bem mais flexível e organizada, a fim de privilegiar a manutenção futura e decompor melhor o problema a ser tratado, promovendo um fraco acoplamento entre as classes e a baixa coesão.

Autores: Giuliano Prado de Morais Giglio e Tadeu Moreira de Classe [/lead]

Um padrão descreve uma solução para um problema que ocorre com frequência durante o desenvolvimento de software, podendo ser considerado como um par “problema/solução” (Buschmann, 2003). Projetistas familiarizados com certos padrões podem aplicá-los imediatamente a problemas de projeto, sem ter que redescobri-los (Gamma, 2000). Um padrão é um conjunto de informações instrutivas que possui um nome e que capta a estrutura essencial e o raciocínio de uma família de soluções comprovadamente bem sucedidas para um problema repetido que ocorre sob um determinado contexto e um conjunto de repercussões (Appleton, 2000).

Padrões de software podem se referir a diferentes níveis de abstração no desenvolvimento de sistemas orientados a objetos. Assim, existem padrões arquiteturais, em que o nível de abstração é bastante alto, padrões de análise, padrões de projeto, padrões de código, entre outros. As diversas categorias de padrões são discutidas a seguir. O uso de padrões proporciona um vocabulário comum para a comunicação entre projetistas, criando abstrações num nível superior ao de classes e garantindo uniformidade na estrutura do software (Gall,1996). Além disto, eles atuam como blocos construtivos a partir dos quais, projetos mais complexos podem ser construídos (Gamma, 2000).

Diversos autores têm proposto centenas de padrões nas mais diversas áreas de aplicação. Esses padrões são descobertos após a abstração de fatores comuns em diversos pares problema-solução, podendo-se situar em várias faixas de escala e abstração. Existem padrões de domínio específico, como por exemplo, para sistemas multimídia educativos e também padrões independentes de domínio, como por exemplo padrões para projeto de interface. Há padrões que ajudam a estruturar um sistema de software em subsistemas e outros que ajudam a implementar aspectos de projeto particulares.

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?