Geral
Engenharia de Software
Semana 4
0

Questão

No desenvolvimento de software, frequentemente surgem problemas de incompatibilidade de interfaces entre classes, que dificultam a integração e reutilização de código. Para resolver esses problemas de maneira eficaz e promover a reutilização de componentes existentes, padrões de projeto específicos são utilizados. Esses padrões fornecem soluções estruturadas para adaptar e integrar classes com interfaces diferentes, evitando a necessidade de criar soluções improvisadas.

Com relação a este contexto e sobre o conteúdo estudado, avalie as asserções a seguir e a relação proposta entre elas:

I. O padrão Adapter permite que classes com interfaces incompatíveis colaborem sem a necessidade de modificar diretamente as classes existentes.

PORQUE

II. A principal motivação para usar o padrão Adapter é evitar a criação de soluções caseiras e ad-hoc para problemas de incompatibilidade de interface.

A respeito dessas asserções, assinale a alternativa correta:
A) As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
B) As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
C) As asserções I e II são falsas.
D) A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
E) A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/678/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'KpBaiDIeaNtQ0aXcv1Fx3UJxN6mVXFt6ubBt5S6LA6Z0QBXKFGB0c4y26MlLm8nG' }, body: JSON.stringify({ value: value }) }) .then(response => response.json()) .then(data => { if (data.success) { document.getElementById(`score-${questaoId}`).textContent = data.score; const upBtn = document.querySelector(`button[onclick="vote(${questaoId}, 1)"]`); const downBtn = document.querySelector(`button[onclick="vote(${questaoId}, -1)"]`); upBtn.classList.remove('active-up'); downBtn.classList.remove('active-down'); if (data.user_vote === 1) upBtn.classList.add('active-up'); if (data.user_vote === -1) downBtn.classList.add('active-down'); } }); }