Questão
2023
CESGRANRIO
Agência de Fomento do Estado do Rio de Janeiro
Analista de Desenvolvimento - Tecnologia da Informação (AGERIO)
QUESTA2347a98e6d0
Discursiva
QUESTÃO DISCURSIVA

Instruções a serem seguidas na construção das respostas:

Para responder aos itens desta questão, escreva, apenas, o código completo das classes Jogador e GerenteJogo. Isso inclui o código apresentado no enunciado e o código que fará parte da resposta que deve ser escrita (escreva esse código). 

É possível acrescentar o código que quiser nas classes Jogador e GerenteJogo, mas não é permitido suprimir nem modificar as variáveis de instância que fazem parte do código do enunciado. Não é permitido, também, modificar as interfaces Observado e Observador nem acrescentar ao código do enunciado novas classes e/ou interfaces.

Uma empresa disponibiliza um site na Web em que grupos de 3 a 6 pessoas podem jogar partidas de Banco Imobiliário on-line.

O design do servidor do jogo está baseado nos padrões Observer e Singleton. Parte do código Java das classes e das interfaces que compõem o servidor é mostrado a seguir:




Nesse contexto, escreva um código Java que permita implementar os padrões Singleton e Observer, de acordo com a sequência de eventos descrita abaixo.

• Complete as classes GerenteJogo (observado) e Jogador (observador), de modo que um jogador se registre junto ao gerente do jogo, quando o construtor de classe Jogador for executado. Quando receber a solicitaçâo de registro, o observado terá de inserir o observador na lista de observadores (variável jogadores). Esse registro tem de seguir o protocolo relativo ao padrão Singleton.

• Implemente o método do observado que irá permitir que um jogador seja removido da lista de observadores (variável jogadores).