Design Patterns: Adapter e Bridge
17 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Perché il design pattern Adapter permette a certe classi di interagire?

  • Rende note le istanze di classi presenti
  • Passa le chiamate tra classi implementate in linguaggi diversi
  • Tiene traccia dei nomi delle classi disponibili
  • Elimina l'incompatibilità tra le interfacce (correct)

Quale sarà la soluzione per il design pattern Object Adapter?

  • Nessuna istanza
  • Solo una istanza per il ruolo Adapter
  • Una istanza per ciascun ruolo Adapter.Adaptee, Target
  • Una istanza per ciascun ruolo Adapter e Adaptee (correct)

Il design pattern Adapter può essere usato per:

  • Decidere quale oggetto istanziare
  • La riduzione dell'accoppiamento tra classi (correct)
  • Controllare il verificarsi di condizioni prima di chiamare metodi
  • La gestione di un object pool

Il design pattern Adapter serve a:

<p>Convertire una interfaccia di una classe in un'altra (D)</p> Signup and view all the answers

Per il design pattern Adapter, il ruolo Adapter

<p>È un'interfaccia (C)</p> Signup and view all the answers

Il design pattern Adapter a due vie:

<p>Fornisce una indirettezza in più rispetto all'Adapter (versione Object) (D)</p> Signup and view all the answers

Il design pattern Adapter traduce:

<p>Invocazioni, variando nome metodi, tipi parametri etc. (C)</p> Signup and view all the answers

Quale fra questi è un vantaggio che ottengo utilizzando il pattern Adapter?

<p>Poter cambiare delle interfacce senza dover modificare il client (C)</p> Signup and view all the answers

Nella soluzione suggerita del design pattern Class Adapter:

<p>Elimina l'uso di una istanza all'interno di Adapter (C)</p> Signup and view all the answers

Nella soluzione suggerita del design pattern Class Adapter:

<p>L'Adapter eredita l'Adaptee (B)</p> Signup and view all the answers

La soluzione suggerita dal design pattern Class Adapter:

<p>Cambia una classe incompatibile modificandone i metodi (A)</p> Signup and view all the answers

Il design pattern Bridge permette:

<p>Alle classi client di distinguere fra varie astrazioni (D)</p> Signup and view all the answers

Per una certa implementazione, il design pattern Bridge:

<p>Richiede di implementare metodi con lo stesso nome su classi diverse (A)</p> Signup and view all the answers

Il design pattern Bridge permette alla classe client di:

<p>Tenere riferimenti a oggetti che sono sottotipi di Implementor (B)</p> Signup and view all the answers

Per il design pattern Bridge, Implementor:

<p>È un'interfaccia (D)</p> Signup and view all the answers

Per il design pattern Bridge, la classe Abstraction:

<p>Tiene il riferimento di una istanza (C)</p> Signup and view all the answers

In un codice che utilizza il pattern Bridge vengono creati 3 ConcreteImplementor e 4 Refined Abstraction. Se non utilizzassi il pattern, e volessi mantenere tutte le possibili combinazioni, quante classi dovrei creare?

<p>12 (C)</p> Signup and view all the answers

Study Notes

Design Pattern: Adapter

  • Scopo: Il design pattern Adapter consente a classi con interfacce incompatibili di interagire tra loro.
  • Risolve: L'incompatibilità tra le interfacce tramite un adattatore che converte l'interfaccia di una classe in un'altra.
  • Varianti:
    • Object Adapter: Utilizza un'istanza di classe per adattare l'interfaccia.
    • Class Adapter: Utilizza l'ereditarietà per adattare l'interfaccia.

Design Pattern: Bridge

  • Scopo: Il design pattern Bridge decouples un'astrazione dalla sua implementazione.
  • Risolve: La necessità di poter modificare l'implementazione di un'astrazione senza dover modificare l'astrazione stessa.
  • Elementi:
    • Abstraction: Definisce l'interfaccia dell'astrazione.
    • Implementor: Definisce l'interfaccia dell'implementazione.
    • Refined Abstraction: Estensioni dell'astrazione.
    • Concrete Implementor: Estensioni dell'implementazione.

Domande e Risposte:

  • D1: Il design pattern Adapter permette a certe classi di interagire perché:

    • Risposta: (B) Elimina l'incompatibilità tra le interfacce.
  • D2: La soluzione per il design pattern Object Adapter avrà:

    • Risposta: (A) Una istanza per ciascun ruolo Adapter, Adaptee, Target.
  • D3: Il design pattern Adapter può essere usato per:

    • Risposta: (c) La riduzione dell'accoppiamento tra classi.
  • D4: Il design pattern Adapter serve a:

    • Risposta: (A) Convertire una interfaccia di una classe in un'altra.
  • D5: Per il design pattern Adapter, il ruolo Adapter:

    • Risposta: (B) È una classe.
  • D6: Il design pattern Adapter a due vie:

    • Risposta: (c) Fornisce una indirettezza in più rispetto all' Adapter (versione Object).
  • D7: Il design pattern Adapter traduce:

    • Risposta: (a) Invocazioni, variando nome metodi, tipi parametri etc.
  • D8: Quale fra questi è un vantaggio che ottengo utilizzando il pattern Adapter:

    • Risposta: (B) Poter cambiare delle interfacce senza dover modificare il client.
  • D9: Nella soluzione suggerita del design pattern Class Adapter:

    • Risposta: (D) Istanzia un Adaptee all'interno dell'Adapter.
  • D10: Nella soluzione suggerita del design pattern Class Adapter:

    • Risposta: (C) L'Adapter eredita l'Adaptee.
  • D11: La soluzione suggerita dal design pattern Class Adapter:

    • Risposta: (d) Cambia una classe incompatibile modificandone i metodi.
  • D12: Il design pattern Bridge permette:

    • Risposta: (D) Alle classi client di distinguere fra varie astrazioni.
  • D13: Per una certa implementazione, il design pattern Bridge:

    • Risposta: (B) Richiede di implementare metodi con lo stesso nome su classi diverse.
  • D14: Il design pattern Bridge permette alla classe client di:

    • Risposta: (D) Tenere riferimenti a oggetti che sono sottotipi di Implementor.
  • D15: Per il design pattern Bridge, Implementor:

    • Risposta: (A) È un'interfaccia.
  • D16: Per il design pattern Bridge, la classe Abstraction:

    • Risposta: (C) Tiene il riferimento di una istanza.
  • D17: In un codice che utilizza il pattern Bridge vengono creati 3 ConcreteImplementor e 4 Refined Abstraction. Se non utilizzassi il pattern, e volessi mantenere tutte le possibili combinazioni, quante classi dovrei creare?

    • Risposta: (B) 12.
  • D18: Un negozio vende una collezione di blocchi. Questi possono essere di metallo o di legno, dipinti, graffiati o patinati. Talvolta possono addirittura essere radioattivi o magnetizzati. Quale design pattern sarebbe adatto per risolvere questo problema?

    • Risposta: Il design pattern Bridge potrebbe essere adatto per risolvere questo problema. Si potrebbe utilizzare un'interfaccia Abstraction per definire le caratteristiche generali dei blocchi (materiale, finitura) e differenti implementazioni ConcreteImplementor per definire proprietà specifiche (radioattività, magnetismo).

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Questo quiz esplora i design pattern Adapter e Bridge, cruciali nella progettazione del software. Scoprirai come queste strategie risolvono il problema dell'incompatibilità delle interfacce e come separano le astratte dall'implementazione. Metti alla prova le tue conoscenze sui concetti fondamentali di questi pattern.

More Like This

구조 패턴을 이해하는 퀴즈
65 questions
Adapter Pattern Quiz
10 questions

Adapter Pattern Quiz

EvaluativeRadiance avatar
EvaluativeRadiance
Adapter Pattern: Converting Interfaces
6 questions
Adapter and Bridge Patterns Overview
40 questions
Use Quizgecko on...
Browser
Browser