"Design patterns implemented in Java"<p>I'd argue that Design Patterns mostly appeared <i>because of</i> Java. Because of people hitting the wall with Java; Java does not allow metaprogramming; Java did not allow class members (it allows instance members); Java does not allow multiple inheritance; Java has a cumbersome and underpowered exception handling system; Java's OOP is really strict and limited; no real functions that can be passed around (not even in Java 8); recursion can't use tail call optimization... etc etc<p>because of ALL this, then developers had to resort to applying the same workarounds. And such workarounds were collected, tagged, and proposed as<p><pre><code> Design Patterns
</code></pre>
by the gang of four.<p>But seriously, if the authors write,<p><i>"All designs should be as simple as possible. You should start with KISS, YAGNI (...)"</i><p>Then they should be looking at alternatives to Java in the first place. It's 2017 and there are other alternatives that even run in the JVM (if this is a requirement).