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
Brasil vira alvo de ataque DDoS que transforma
roteadores em bots
Por: Da Redação da Abranet – 05/06/2024
O Brasil é um dos principais alvos de ataque do malware CatDDoS, que explora mais de 80 falhas de segurança em softwares de roteadores, equipamentos de rede, entre outros, para se infiltrar nos dispositivos vulneráveis, cooptá-los e transformá-los em bots que conduzem ataques de DDoS (distributed denial-of-service ou ataque de negação em serviço, em português). O alerta é da consultoria de segurança digital, Solo Network.
O malware tem como alvo provedores de serviços em nuvem, serviços de educação, pesquisa científica, transmissão de informações, administração pública, construção …
Vetores
Em linguagens de programação, os vetores são úteis para situações que se deseja armazenar múltiplos valores do mesmo tipo em uma única variável e acessá-los de forma eficiente usando um índice. Normalmente, os índices em um vetor começam em zero (como Python, C, Java, etc.), mas em algumas linguagens de programação, os índices podem começar em um.
A seguir, é apresentada a declaração de um vetor em Python:
lista = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
Considerando o vetor acima e utilizando a sintaxe da linguagem Python, redija texto acerca da manipulação de vetores em Python. Ao elaborar seu texto, aborde, necessariamente, os seguintes aspectos:
- Implemente, em Python, uma função p…
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…



