Ovido
Langue
  • Anglais
  • Espagnol
  • Français
  • Portugais
  • Allemand
  • Italienne
  • Néerlandais
  • Suédois
Texte
  • Majuscules

Utilisateur

  • Se connecter
  • Créer un compte
  • Passer à Premium
Ovido
  • Accueil
  • Se connecter
  • Créer un compte

Bridge

Qual è l'intento del pattern Bridge?

Separare un'astrazione dalla sua implementazione in modo che entrambe possano variare indipendentemente.

Perché usare il pattern Bridge?

Quando un'astrazione può avere diverse implementazioni.
Per evitare che l'ereditarietà leghi permanentemente un'implementazione all'astrazione.


Esempio: Un toolkit per interfacce utente deve supportare sia il Sistema X Windows che il Presentation Manager (PM) IBM. La composizione è più flessibile dell'ereditarietà per gestire questa esigenza.

Quando usare il pattern Bridge?

Per evitare un legame permanente tra astrazione e implementazione.
Per selezionare o cambiare implementazioni a runtime.

Per estendere indipendentemente astrazioni e implementazioni.

Per nascondere l'implementazione di un'astrazione ai client.

Per evitare la proliferazione di classi derivata da combinazioni di astrazioni e implementazioni.

Quali sono i partecipanti nel pattern Bridge?

Abstraction (Window): Definisce l'interfaccia dell'astrazione e mantiene un riferimento a un Implementor.
RefinedAbstraction (IconWindow): Estende l'interfaccia definita da Abstraction.

Implementor (WindowImp): Definisce l'interfaccia per le classi di implementazione, che può differire da quella di Abstraction.

ConcreteImplementor (XWindowImp, PMWindowImp): Implementa l'interfaccia di Implementor.

Come collaborano i componenti nel pattern Bridge?

Abstraction inoltra le richieste dei client al suo oggetto Implementor.
Implementor esegue l'azione richiesta.

Quali sono i vantaggi del pattern Bridge?

Separazione tra interfaccia e implementazione:

L'implementazione non è più legata permanentemente a un'interfaccia.

Può essere configurata o cambiata a runtime.

Elimina le dipendenze di compilazione sull'implementazione.

Estensibilità migliorata:


Aggiunta indipendente di nuove astrazioni e implementazioni.

Nascondere i dettagli ai client:


Protegge i client dai dettagli dell'implementazione, come condivisione degli oggetti implementatori e conteggio dei riferimenti.

Come si implementa il pattern Bridge?

Un solo Implementor: Anche con una singola implementazione, separare astrazione e implementazione evita ricompilazioni in caso di cambiamenti.
Creazione dell'oggetto Implementor:

Istanziare direttamente nel costruttore.

Usare un'implementazione predefinita e cambiarla in seguito.

Delegare la creazione a un altro oggetto, come Abstract Factory o Singleton.

Condivisione degli implementatori: Utilizzare lo stesso Implementor per più astrazioni.

Ereditarietà multipla in C++: Combinare interfaccia e implementazione, ma lega permanentemente i due.

Dove viene usato il pattern Bridge?

in molte applicazioni

Quali pattern sono correlati al Bridge?

Abstract Factory: Per creare oggetti Implementor appropriati.
Adapter: Per adattare un'implementazione esistente a una nuova interfaccia.

Quiz
Adapter
tortue d hermann
MAD chapter 9 part 2
REGION 9: ZAMBOANGA PENINSULA
Latijn woorden module 2
Atomu branduolių virsmai
geografia
Futuro simple
Sanat
Ruotsi kappale 3 sanat eri muodot lyhyet
prep con dat
psykiatri 2
fq
Biologi 7.5 Hörsel och balans
admin
Activism in sport
citatiô chap 9 et 10
italianske glosor 1
CHAPTER 5: Memory: Models and Research Methods
riri
causes of th WW1
anglais
RH Pratiques
vocabulary 1
music and arts
Músculos de miembro sup
quimica segundo periodo
Literary Elements
literay elements
Week 11 - Chapter 10 and 11: Muscles
Week 13 - Chapter 19: Blood
Révison finale: sport
piano notes
Vold (powerpoint)
historia
Massage Course
polish language
VWL
russian study
systeme immunitaire
no fysik
origini di roma
food 什么
2 décembre
franska glosor
vocabulaire série TV
meds 💊
segundo teste
Economic Methodology and the Economic Problem
atomer mm