Computação Múltipla Escolha

Em Python temos duas situações quando precisamos trabalhar com objetos. Uma situação é quando você tem um conjunto de objetos que precisam se comunicar entre si, mas quer evitar que eles se comuniquem diretamente, promovendo um acoplamento fraco entre eles. A outra situação é quando você tem um objeto que precisa notificar outros objetos sobre mudanças em seu estado.

Em Python temos duas situações quando precisamos trabalhar com objetos. Uma situação é quando você tem um conjunto de objetos que precisam se comunicar entre si, mas quer evitar que eles se comuniquem diretamente, promovendo um acoplamento fraco entre eles. A outra situação é quando você tem um objeto que precisa notificar outros objetos sobre mudanças em seu estado.

  1. List comprehensions e List ordered
  2. List communicator e design viewer
  3. Design pattern mediator e design pattern observer
  4. Manipulator e Range View
  5. Classifier e Ordenator

Resolução completa

Explicação passo a passo

C
Alternativa C

Alternativa C - Design pattern mediator e design pattern observer

O enunciado descreve dois padrões de projeto (design patterns) fundamentais na programação orientada a objetos, especificamente aplicáveis ao Python.

Padrão Mediador (Mediator):

  • Serve para reduzir o acoplamento entre objetos.
  • Permite que vários objetos interajam através de um objeto intermediário (o mediador), evitando que falem diretamente uns com os outros.
  • Promove o acoplamento fraco, facilitando a manutenção do código.

Padrão Observador (Observer):

  • Estabelece uma relação de dependência um-para-muitos.
  • Quando o estado de um objeto (sujeito) muda, todos os seus observadores são notificados automaticamente.
  • É ideal para cenários onde uma mudança em um componente deve refletir em outros sem que o primeiro precise conhecer os detalhes dos segundos.

Análise

Vamos verificar cada alternativa com base nas definições acima:

AlternativaConceito DescritoCorreção
AList comprehensions e List orderedRelacionado a sintaxe de listas, não comunicação entre objetos.
BDesign communicator e design viewerTermos genéricos, não são nomes oficiais de padrões de projeto.
CDesign pattern mediator e design pattern observerCorresponde exatamente às descrições do enunciado.
DManipulator e Range ViewTermos relacionados a manipulação de dados ou bibliotecas específicas, não padrões estruturais.
EClassifier e OrdenatorRelacionados a classificação e ordenação, não comunicação/notificação.

Portanto, a primeira situação refere-se ao padrão Mediator (comunicação indireta) e a segunda ao padrão Observer (notificação de mudanças).

Alternativa C.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.