O uso do padrão Command apresenta consequências como um obje...

Próximas questões
Com base no mesmo assunto
Q48306 Arquitetura de Software
Julgue os itens que se seguem a respeito dos padrões de desenho e outras técnicas para reúso de software.

O uso do padrão Command apresenta consequências como um objeto Command é usualmente refratário ao enfileiramento; um objeto Command é usualmente transiente, isto é, não é passível de serialização e o uso disseminado de Commands dificulta a estruturação de um sistema em operações de alto nível.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é Errado (E).

Vamos entender por que a alternativa correta é "Errado" e discutir os pontos abordados na questão.

O padrão de projeto Command é um dos padrões comportamentais descritos pela Gang of Four (GoF). Ele transforma uma solicitação em um objeto independente que contém todas as informações sobre a solicitação. O objetivo principal é desacoplar o emissor de pedidos dos seus receptores, podendo enfileirar, fazer log e até desfazer operações.

Vamos analisar cada uma das afirmações na questão:

1. "um objeto Command é usualmente refratário ao enfileiramento"

Isso está incorreto. Um dos usos mais comuns do padrão Command é justamente permitir o enfileiramento de comandos. Por exemplo, em um sistema de transações, podemos enfileirar comandos para serem executados em sequência. Portanto, essa assertiva está errada.

2. "um objeto Command é usualmente transiente, isto é, não é passível de serialização"

Isso também não é verdade. Objetos Command podem ser projetados para serem serializáveis. A serialização de comandos pode ser útil para persistir comandos em um banco de dados ou para transmitir comandos através de uma rede. Portanto, essa afirmativa está incorreta.

3. "o uso disseminado de Commands dificulta a estruturação de um sistema em operações de alto nível"

Esta afirmativa também está incorreta. Na realidade, o uso do padrão Command pode facilitar a estruturação de um sistema, permitindo que operações de alto nível sejam compostas de comandos mais simples. O padrão ajuda a organizar o código, tornando-o mais modular e flexível.

Concluindo, todas as afirmativas da questão estão incorretas, justificando a marcação de Errado (E) como alternativa correta.

Se precisar de mais explicações ou ter dúvidas sobre outros padrões de projeto, sinta-se à vontade para perguntar!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

O objetivo do padrão Command é encapsular uma solicitação como um objeto, desta forma permitindo que clientes parametrizem diferentes solicitações, enfileirem ou façam o registro (log) de solicitações e suportem operações que podem ser desfeitas. Logo as 3 afirmações acima estão erradas.

 Dá pra excluir só pela "não é passível de serialização". Imagine que os objetos Command devão ser executado apenas "depois". Para isso precisam ser salvos, logo, serializados.

Só o fato de dizer que é refratário ao enfileiramento, ou seja é contrário ao enfileiramento já torna a questão ERRADA. O Command permite enfileiramento de solicitações.

Abraço e bons estudos.
Marcelo

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo