Come asciugare pattern decoratore e altra delega in java

3

Stavo ristrutturando alcuni java per usare i decoratori. Tutti i decoratori hanno ereditato da una classe ThingDecorator , diciamo. Questo consisteva interamente di:

SomeType methodName(OtherType otherThing) {
    return decoratedObject.methodName(otherThing);
}

Per forse 20 metodi di quella forma. È come scrivere "questa cosa è un decoratore" ancora e ancora, che mi fa impazzire come un appassionato di DRY. Ogni aggiunta alle attività di questa classe ha bisogno di un'aggiunta alla classe [es] che forma il comportamento non decorato di base e del decoratore, ma è sempre solo "questa cosa è ancora un decoratore!" di nuovo C'è un modo per esprimere una volta che un oggetto è delegare tutti i metodi non sovrascritti ad un campo membro?

    
posta sqykly 28.11.2015 - 01:53
fonte

1 risposta

2

No, sfortunatamente, non c'è alcun modo per farlo.

A meno che tu non usi un po 'di magia, come questa: michael.gr - Intertwine: Normalizing Interface Invocations (che però ho implementato per C #, non ancora per Java.)

    
risposta data 28.11.2015 - 03:49
fonte

Leggi altre domande sui tag