Artigo no estilo: Curso

De que se trata o artigo

Aborda o tema refatoração para padrões com o objetivo de mostrar como o desenvolvedor pode usá-lo para melhorar o código fonte de suas aplicações. Neste sentido, este artigo traz conhecimento ao desenvolvedor sobre refatoração para padrões e demonstrar através de exemplos práticos a aplicação das técnicas de refatoração para padrões Mover Acumulação para Parâmetro Coletor e Mover Acumulação para Visitor.

Em que situação o tema é útil

O tema se torna fundamental para desenvolvedores que já estão familiarizados com padrões de projeto e já os implementam em seus softwares e que querem saber mais sobre refatoração para padrões, conhecendo os benefícios que sua utilização traz.

Resumo DevMan

O objetivo deste artigo é implementar os padrões de projeto Parâmetro Coletor e Visitor. Para que os objetivos deste artigo possam ser alcançados, é necessário o conhecimento das técnicas de refatoração Extrair Método, Substituir Método por Método Objeto, Extrair Método, Mover Método, Internalizar Método, Extrair Interface.

Autores: Jacimar Fernandes Tavares e Marco Antônio Pereira Araújo

Imagine um cenário onde exista um trecho de código fonte com uma variável ou atributo declarado e que sua utilização é tão frequente que diversos métodos os manipulam devido à sua importância para a aplicação. Do ponto de vista operacional tal prática é lícita, mas sua utilização deve levar em conta outros fatores, como: a utilização da variável ou atributo em questão por diversos métodos não aumenta o acoplamento de uma forma que prejudique futuras manutenções? O risco de ter uma informação sendo alterada por diversos pontos do código não poderá ocasionar problemas relacionados à consistência da informação solicitada, como por exemplo, alteração dos valores da variável ou atributo indevidamente? Se estas questões fazem sentido no contexto do código fonte que se está analisando, talvez seja interessante utilizar um mecanismo que permita criar um parâmetro coletor de informações, que serão manipuladas de forma segura.

Outro cenário leva a outra questão importante: é possível criar um mecanismo que recolha informações, como no primeiro cenário apresentado, mas sem a necessidade de modificar o código fonte das classes? Um mecanismo capaz de coletar informações em classes para realizar uma tarefa desejada pode ser importante. A refatoração para padrões Mover Acumulação para Visitor é útil neste sentido.

O objetivo deste artigo é justamente atuar nos cenários descritos, entre outros, e implementar os padrões de projeto Parâmetro Coletor e Visitor. Para que os objetivos deste artigo possam ser alcançados, é necessário o conhecimento das técnicas de refatoração Extrair Método, Substituir Método por Método Objeto, Extrair Método, Mover Método, Internalizar Método, Extrair Interface (ver Nota 1). Também é apresentada uma breve descrição sobre os padrões de projetos que envolvem este artigo, Parâmetro Coletor e Visitor.

Nota 1. Refatorações apresentadas em outros artigos

As técnicas de refatoração Extrair Método, Mover Método, Internalizar Método e Extrair Interface já foram apresentadas em edições anteriores da Engenharia de Software Magazine.

Refatoração Substituir Método por Objeto Método

Esta técnica é pertencente ao grupo de refatorações classificadas como Compondo Métodos.

Nome da refatoração: Substituir Método por Objeto Método

Resumo: Métodos longos demais precisam ser divididos com a refatoração Extrair Método, mas se ele tiver muitas variáveis locais, o grau de dificuldade aumenta. Nesse contexto, Cria-se um objeto cujos atributos equivalem a essas variáveis.

Motivação: Prepara os métodos longos para serem divididos com a refatoração Extrair Método ao diminuir a complexidade deles.

Mecânica:

§ Cria-se uma classe cujo nome deve ser o mesmo do método longo.

...
Quer ler esse conteúdo completo? Tenha acesso completo