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
b) Cite duas propriedades de uma árvore AVL.
Java é uma linguagem de programação de alto nível e orientada a objetos que foi desenvolvida pela Sun Microsystems (agora propriedade da Oracle Corporation) na década de 1990 e foi projetada para ser portátil, eficiente e segura, permitindo que o código desenvolvido seja executado em diferentes plataformas sem a necessidade de recompilação. A seguir, é apresentado o código-fonte da classe TAD escrito em JAVA:
class Node {
int data;
Node next;
Node(int data) {
this.data = data;
this.next = null;
}
}
public class TAD {
private Node top;
private int size;
public TAD() {
this.top = null;
this.size = 0;
}
public void inserir(int data) {
Node newNode = new Node(data);
newNode.…
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…



