SOLID principles are a set of five basic but powerful design principles in software development. They allow you to write manageable, scalable, and testable applications.
Software Architecture
The software architecture of a system describes its major components, their relationships, and how they interact with each other. This category includes various design patterns and principles that enable developers to write highly scalable software.

Single Responsibility Principle
Single Responsibility Principle states that, a class should have responsibility for a single part of the program’s functionality. Which means, it should have only one reason to change.

Open Closed Principle
It states that software entities should be open for extension, but closed for modification. Functionality should be added via extension (e.g. inheritance) instead of directly modifying class.