Why interface evolution with default methods does not work for whole interfaces – at least not smooth enough to be practical.
Posts which talk about designing software with the help of design patterns.
Patterns for interface evolution with default methods: gradually add, replace and remove interface methods without breaking client code.
A presentation of the Serialization Proxy Pattern as defined in Effective Java. It defines the pattern, describes its implementation and gives examples.
Use Java 8’s default methods to make the decorator pattern even more beautiful, which results in more concise and readable code.
A real-life example how the decorator pattern enables future changes and improves code quality by upholding the Single Responsibility Principle.