🌟Single Responsibility Principle (SRP): Each class or component should have only one responsibility.
🔒Open/Closed Principle: Software entities should be open for extension but closed for modification.
🔗Liskov Substitution Principle (LSP): Subtypes should be substitutable for their base types.
📦Interface Segregation Principle (ISP): Clients should not be forced to depend on interfaces they do not use.
⚙️Dependency Inversion Principle (DIP): High-level modules should not depend on low-level modules, both should depend on abstractions.