Too Long; Didn't Read
The Object-Oriented Design Principles<strong> </strong>are the core of OOP programming, but I have seen most of the Java programmers chasing design patterns like <a href="https://javarevisited.blogspot.com/2014/05/double-checked-locking-on-singleton-in-java.html">Singleton pattern</a>, <a href="http://www.java67.com/2013/07/decorator-design-pattern-in-java-real-life-example-tutorial.html">Decorator pattern</a>, or <a href="http://javarevisited.blogspot.sg/2011/12/observer-design-pattern-java-example.html">Observer pattern</a>, and not putting enough attention on learning <em>Object-oriented analysis and design</em>.