Magna Concursos
4219849 Ano: 2026
Disciplina: TI - Desenvolvimento de Sistemas
Banca: FCC
Orgão: ARTESP

Uma equipe de uma agência reguladora de transporte precisa desenvolver um módulo para a criação dinâmica de protocolos de segurança de trens. Existem diversos tipos de trens e sistemas de sinalização (Convencional, CPTM etc.) e o protocolo de segurança a ser gerado depende de qual configuração de trem está ativa naquele momento. No entanto, o código que usa esse protocolo precisa ser desacoplado do tipo específico de trem. Inicialmente foi criado o trecho de código Java abaixo, que define um trem e um método de validação de protocolo.
 

interface Trem {
    String getIdentificador();
    String validarProtocolo();
}

class TremConvencional implements Trem {
    public String getIdentificador() { return "Convencional-A"; }
    public String validarProtocolo() { return "Protocolo Convencional OK."; }
}

class TremCPTM implements Trem {
    public String getIdentificador() { return "CPTM-Z"; }
    public String validarProtocolo() { return "Protocolo CPTM OK."; }
}

public class GerenciadorDeCriacao {
    public Trem criarTrem(String tipo) {
        if (tipo.equals("CPTM")) {
            return new TremCPTM();
        } else if (tipo.equals("CONV")) {
            return new TremConvencional();
        }
        return null;
    }
}



Para atender ao requisito de criação dinâmica e independente dos objetos de trem, permitindo que a aplicação cliente use a interface Trem sem conhecer as classes concretas (TremConvencional, TremCPTM etc), o Design Pattern GoF que deve ser implementado no lugar da classe GerenciadorDeCriacao é o

 

Provas

Questão presente nas seguintes provas

Agente de Fiscalização - TI

80 Questões