The Developer's Guide to SOLID Design Principles
Building stable and robust software is one of the primary goals of any software development project. While it is crucial to keep your code error-free for that, the real strength of your application comes from its foundation—the architecture of your code. SOLID is one of the most popular collections of software design principles. Its goal is to help you avoid common pitfalls and plan your application’s architecture from a very high level.