Factory Method, é um padrão de projeto de software (Design Pattern) do tipo Criação, onde foi descrito por GoF (Gang of Four) este grupo é composto por Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Estes evangelista criaram um conjunto de padrão para solucionar problemas comuns em projetos de desenvolvimento de soluções de softwares.
Vamos direto ao assunto ! Imagine que você tenha um conjunto de Classes concretas relacionadas em vários ponto de uma solução, veja o código abaixo. Agora temos que acrescentar mais uma condição para instanciar um outro ‘Tipo’, então, como fazer ? Agora, é se tivermos mais um grande catalogo de ‘Tipos’ para criar ?
Sanduiche sanduiche;
string tipo;
if(tipo.Equals("xbacon"))
{
sanduiche = new Xbacon();
}
else if(tipo.Equals("xtudo"))
{
sanduiche = new Xtudo();
}
else if(tipo.Equals("xsalada"))
{
sanduiche = new XSalada();
}
// Qual será os próximos tipos ?
// Onde é utilzada estas instâncias ?
// Vou ter que Debugar muito !
Compartilhe

