Examine atentamente o código Java a seguir.
public abstract class Funcionario
{
public static Funcionario novoFuncionario (String
funcao)
if (funcao == null)
return null;
if (funcao.equals (“chefe”))
return new FuncionarioChefe ();
if (funcao.equals ("subordinado"))
return new FuncionarioSubordinado ();
}
class FuncionarioChefe extends Funcionario
class FuncionarioSubordinado extends Funcionario
O código Java acima implementa o Padrão de Projeto denominado
Facade.
Observer.
Abstract Factory.
Decorator.
Iterator.