SOLID Principle (Quick Read)

The famous design principle comprises 5 design strategies that a developer should follow for a successful application development Single Responsibility Principle Open/ Close Principle Liskov Substitution Principle Interface Segregation Principle Dependency Inversion Single Responsibility Principle(SRP) No code unit(function/class/package) should have more than one responsibility. Bad Ex: Class Bird { String result;; public fly(Bird bird) { if(bird==piegeon) result="flys 20 meter hight"; else if(bird==hen) result="flys 5 meter"; else result="not measured yet"; } } This class should design such a way that it should work well for all the types of birds current design is hectic to maintain for the following reasons difficult to test. difficult in parallel programming understanding the code is difficult solution: Break the code into multiple packages or classes How to identify SRP is violated(Litmus test to SRP)