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?