Inspired by the article "10 OOP Design Principles Every Programmer Should Know" which was written by @javinpaul, I built this project repository to implement the top Object Oriented Design principles in Java. The top Object Oriented Design principles in Java, which are: Don't Repeat Yourself ( DRY ) Encapsulation S ingle Responsibility Principle ( SRP ) O pen Close Design Principle L iskov Substitution Principle ( LSP ) I nterface Segregation Principle ( ISP ) D ependency Injection Favor Composition over Inheritance Programming for Interface not Implementation Delegation Principle The implementation is about Stock Price Quote which sounds like interesting and practical.