In Java Swing se vuoi aggiungere un listener a un componente, sarà simile a questo ...
JButton j = new JButton();
int counter = 0;
j.addAncestorListener(new AncestorListener() {
@Override
public void ancestorMoved(AncestorEvent event) {
}
@Override
public void ancestorAdded(AncestorEvent event) {
counter++;
}
@Override
public void ancestorRemoved(AncestorEvent event) {
}
});
Se potessi creare una nuova parola chiave Java e dirlo ...
JButton j = new JButton();
int counter = 0;
swinglistener (j, AncestorListener) {
ancestorAdded {
counter++;
}
}
.... per ottenere lo stesso effetto. Questo codice sarebbe più leggibile? Sarebbe meglio? Quali altri aspetti del design del software "buono" otterrebbero questo cambiamento?