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:
public interface Observador {
public void notifica(String jogada);
}
public interface Observado {
public void registra(Observador o);
public void remove(Observador o);
}
public class Jogador {
public Jogador( ) {
}
public void notifica(String jogada) {
// este método não precisa ser implementado
// pois isso é irrelevante para a questão
}
}
import java.util.ArrayList;
public class GerenteJogo {
private ArrayList<Observador> jogadores=new ArrayList<Observador>();
}
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).
CONTEÚDO EXCLUSIVO
Confira nossos planos especiais de assinatura e desbloqueie agora!
CONTEÚDO EXCLUSIVO
Confira nossos planos especiais de assinatura e desbloqueie agora!
Ops! Esta questão ainda não tem resolução em vídeo.
Questões Relacionadas
Os produtos de software feitos por uma equipe de desenvolvimento demonstraram baixa qualidade no ambiente de produção. Devido a reclamações, foi feita uma auditoria que levantou os seguintes fatos:
- • a especificação das funcionalidades era muito informal;
- • durante os testes de integração, os componentes integrados não funcionavam como especificado, causando retrabalho pelos desenvolvedores de componentes;
- • todos os testes eram feitos à mão e, como isso demorava, nem sempre eram feitos todos os testes necessários;
- • não havia uma homologação das funcionalidades com o usuário antes do produto entrar em operação;
- • não havia uma reflexão da equipe de modo a entender como melhorar o seu proce…
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 pode…
1. Mínimo
2. Máximo
3. Média
4. f(Média), em que
f(n)=3+f(n-2)+f(n-1), quando n>=10
f(n)=1, quando n<10
Dados:
Utilize a linguagem de programação que desejar, dando maior importância à lógica do algoritmo. No entanto, não utilize funções de bibliotecas específicas, como cálculo da média em vetores. Desenvolva seu próprio raciocínio para o cálculo dos elementos solicitados.
Suponha que o vetor já esteja em memória, não sendo necessário, portanto, realizar a leitura dos números.



