- Explique porque o código abaixo não implementa o Factory Method Pattern. Modifique o código para que ele passe a implementar esse padrão.
 
public class XMLReaderFactory {
// Esse método retorna uma instância de uma classe
// que implementa a  interface XMLReader.
// A classe específica que ele cria e retorna 
// é baseada em uma propriedade do sistema.
public static XMLReader createXMLReader();
}
public interface XMLReader {
public void setContentHandler(ContentHandler handler):
public void parse(InputStream is);
}
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          No factory method o metodo para construir não deve ser estático.
À definição engloba 4 classes:
- abstração que cria
 
- abstração do que precisa ser criado
 
- implementações dos dois
 
Vc precisaria remover o static num primeiro momento e depois transformar a sua classe factory em uma interface
Vc vai ter duas interfaces, basta implementar duas classes que usam as mesmas.
A ideia é que vc tenha fábricas diferentes de tipos concretos diferentes unidos sob mesma interface publica.
Exemplo de uso:
testes. Vc pode testar seu código adicionando uma factory que retorna um objeti que vai falhar pq vc quer ter certeza que seu codigo lida com exceções
auditoria: em uma parte do seu sistema vc substitui a factory por algo que retorna um proxy para o objeto que vc quer, que vai escrevendo o que acontece
Etc