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.


Para que serve:

Para prover 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 Substituir Envio condicional por Command e Extrair Composite.

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.

A criação de lógica condicional é o recurso utilizado pelos desenvolvedores para permitir que diferentes caminhos possam ser tomados durante a execução de uma aplicação. Um problema neste sentido está relacionado ao tamanho do código que contém a lógica condicional. Caso ele seja extenso demais, pode vir a se tornar complicado de entender e manter. Lógica condicional criada para executar diversos tipos de ações pode centralizar muito código em uma única classe do sistema.

A definição de uma técnica de refatoração para padrões que permita simplificar essa lógica condicional ao implementar o padrão de projeto Command, permite que o código responsável por executar as diversas ações seja dividido por diversas classes command. A refatoração para padrões Substituir Envio condicional por Command auxilia neste processo.

As 27 técnicas de refatoração para padrões existentes implementam diversos padrões de projeto baseando-se no contexto de um problema encontrado no código de algumas aplicações. Com isso, elas apresentam padrões de projeto que podem ser implementados com base em diferentes problemas, como é o caso do padrão Composite. Neste artigo sua implementação se dá com base em um problema: código duplicado responsável pela manipulação de composites. Nesse contexto, surge a necessidade de remover código duplicado que pode estar em diferentes subclasses de uma hierarquia. Para tal tarefa, o código é movido para a superclasse e a duplicação é eliminada. Essa modificação será possível com a aplicação da refatoração para padrões Extrair Composite (ver Nota 1).

Para um melhor entendimento das refatorações para padrões abordadas neste artigo é necessário que o desenvolvedor conheça previamente as técnicas de refatoração Extrair Método, Extrair Classe, Extrair SuperClasse e Extrair Interface, por serem parte fundamental no processo de aplicação da refatoração para padrões Substituir envio condicional por Command, e ainda conhecer as técnicas de refatoração Renomear Método, Subir Método na Hierarquia e Substituir Algoritmo, que, juntamente com a refatoração Extrair Método, constituem os pré-requisitos necessários para a aplicação da técnica de refatoração para padrões Extrair Composite (ver Nota 2).

A sequência apresentada pelo autor das refatorações para padrões (KERIEVSKY, 2008) traz a técnica Formar Template Method após a técnica Substituir envio condicional por Command, contudo, é destacado que a técnica em questão é idêntica à técnica de refatoração Criar um Método Padrão (FOWLER, 2004) (edição de número 30 da revista Engenharia de Software Magazine). Portanto, neste artigo será apresentada apenas uma visão geral sobre Formar Template Method, permitindo que os conceitos já vistos na apresentação da técnica de refatoração Criar um Método Padrão sejam relembrados.

Nota 1. Relembrando conceitos

Uma breve descrição do padrão de projeto Composite foi apresentada no artigo da edição de número 30 da Engenharia de Software Magazine e relembrada na edição de número 34.

Nota 2. Refatora ...

Quer ler esse conteúdo completo? Tenha acesso completo