• [^] # Re: Fin de la pureté de Java

    Posté par . En réponse à la dépêche Java 8 et NetBeans 8 sont disponibles. Évalué à 3. Dernière modification le 29 mars 2014 à 10:58.

    Les default methods sont clairement la pour pouvoir faire évoluer les interfaces sans casser la compatibilité au niveau source et binaire.
    Avant ça, l’évolution des interfaces suivait 2 approches:

    • A la JDBC: changements cassant l'API, nécessitant de fournir des drivers différents pour chaque version du JDK. C'est deja bien gere par les fournisseurs de base de données, et le default methods ne vont probablement pas résoudre ce problème puisque les fournisseurs de drivers devront quand même fournir 2 versions supportant les specificite de chaque version.

    • A la Eclipse: Publier une interface IMyInterface, puis itérer lorsque des ajouts sont nécessaires: IMyInterface2 extends IMyInterface, IMyInterface3 extends IMyInterface2, etc.

    Bref, c'est pas top, quoique la méthode d'Eclipse a l'avantage de toujours garder la compatibilité ascendante, au prix d'une verbosité et d'une lourdeur sans pareille (même pour du Java).
    Les default methods vont résoudre le problème de l’évolution d'interfaces a la Eclipse.