Before we directly jump into defining the principles and talk about the important and most common design patterns, let's question the basics of what designs are patterns and why we should have software development principles.
Getting started with principles and patterns
Why follow design principles?
No individual, group, or organization wants a software product whose code looks complex, hard-to-change, fragile, and nonreusable. All of us want the code to remain flexible, robust, and reusable. Therefore, we follow some of the core design principles that are eventually essential to the quality of a software product.