The SOLID Design Principles and Design Patterns play an important role in achieving all of the above key points.
The SOLID Design Principles are the design principles that help us to solve most of the software design problems. These design principles provide us with multiple ways to move the tightly coupled code between the software components which makes the software designs more understandable, flexible, and maintainable.
S stands for the Single Responsibility Principle which is also known as SRP.
O stands for the Open-Closed Principle which is also known as OSP.
L stands for the Liskov Substitution Principle which is also known as LSP.
I stand for the Interface Segregation Principle which is also known as ISP.
D stands for Dependency Inversion Principle which is also known as DIP.