Prima di tutto il modello di bridge da quello che ho letto è più per quando la classe e ciò che fa varia spesso. La classe stessa può essere considerata come l'implementazione e il comportamento della classe come l'astrazione.
La Fabbrica astratta fornisce invece un'interfaccia per la creazione di gruppi di oggetti correlati o dipendenti, senza specificare le loro classi concrete; i loro problemi di implementazione.
Quindi, suppongo di riassumere, stai confrontando le mele con le arance e forse è da lì che proviene la confusione. Sono per risolvere diversi problemi.
Per me le operazioni implicano metodi in java, quindi le operazioni sono definite o dichiarate dall'astrazione, ma sono implementate nella classe stessa. Quindi sì, l'astrazione sta solo dichiarando ciò che le operazioni potrebbero fare fino al comportamento, ma le effettive implementazioni sono fatte nella classe. Inoltre, anche la fabbrica astratta è corretta.
Immagino che la parte che definisce il bridge sia che potrebbe avere serie di astrazioni che variano rispetto a un'astrazione.
Design Patterns utilizza la parola astrazione per fare riferimento a una classe che fa affidamento su un insieme di operazioni astratte, in cui sono possibili diverse implementazioni dell'insieme di operazioni astratte.
vedere questi link per ulteriori informazioni:
Using Abstractions and the Bridge Pattern in Java
Wikipedia: Bridge_Pattern
Bridge Pattern in Java
The Bridge Pattern Design Pattern
fonte
2011-10-09 01:53:53
Grazie per questa spiegazione. Dimmi solo che ho ragione: con Bridge, tutte le operazioni primitive dovrebbero essere implementate dagli implementatori e non dall'astrazione stessa.D'altra parte, con AbstractFactory, il suo intento è solo quello di creare oggetti (per esempio oggetti che contengono nel lato Abstraction di Bridge Pattern) ma questo modello non si aspetta mai che tutte le operazioni primitive debbano essere implementate nel lato Abstraction. Quindi non è previsto l'uso sempre delegazione come objectCreatedByFactory.doSomething() per tutte le operazioni primitive – Mik378