Buscar

17.5 Usando um exemplo de componente que implementa um tipo de dados abstrato, como uma pilha ou uma lista, mostre por que geralmente é necessário ...

17.5 Usando um exemplo de componente que implementa um tipo de dados abstrato, como uma pilha ou uma lista, mostre por que geralmente é necessário estender e adaptar componentes para reutilização. Tomemos, por exemplo, um componente de pilha. Isso fornecerá operações básicas comuns a todas as pilhas, como Inicializar (criar uma pilha), Empurrar (um item na pilha), Retirar (um item da pilha), Tamanho (o número de itens atualmente na pilha), e talvez outros. No entanto, cada aplicativo usará pilhas de maneiras diferentes e, portanto, poderá exigir versões diferentes dessas operações e operações adicionais. Por exemplo, considere uma operação de navegação gráfica que permite aos usuários navegar em uma biblioteca digital. A biblioteca está dividida em áreas e o identificador de cada área aponta para os livros dessa área. Quando o usuário entra em uma área, seu identificador é colocado em uma pilha e retirado da pilha quando ele sai dessa área e volta para a área anterior. Assim, o topo da pilha sempre se refere aos livros da área atual. No entanto, existe um requisito para fornecer um recurso onde o usuário possa visualizar todas as áreas visitadas e isso requer uma operação de pilha adicional que forneça acesso a todos os elementos da pilha. Isso então deve ser adicionado ao componente da pilha. Também requer que a operação Pop seja modificada para que, quando um item for retirado da pilha, ele seja adicionado a uma lista de 'áreas visitadas' que possa ser exibida em conjunto com os elementos atuais da pilha.

Essa pergunta também está no material:

Exercício de Engenharia de Software 52
1 pág.

Engenharia de Software II Universidade Federal do Rio de JaneiroUniversidade Federal do Rio de Janeiro

Respostas

User badge image

Ed Verified user icon

O texto apresenta um exemplo de como um componente que implementa um tipo de dados abstrato, como uma pilha ou uma lista, precisa ser estendido e adaptado para reutilização. Isso ocorre porque cada aplicativo usará esses componentes de maneiras diferentes e, portanto, poderá exigir versões diferentes das operações básicas e operações adicionais. No exemplo apresentado, um componente de pilha é usado para navegação gráfica em uma biblioteca digital. Embora o componente de pilha forneça operações básicas comuns a todas as pilhas, como Inicializar, Empurrar, Retirar e Tamanho, o aplicativo requer uma operação adicional para fornecer acesso a todos os elementos da pilha. Isso requer que a operação Pop seja modificada para que, quando um item for retirado da pilha, ele seja adicionado a uma lista de 'áreas visitadas' que possa ser exibida em conjunto com os elementos atuais da pilha.

0
Dislike0

Responda

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Mais conteúdos dessa disciplina