| S | Single Responsibility | Single Reason to Change |
| O | Open/Closed | Open for extension closed to change |
| L | Liskov Substitution | Derived types substitutable for base types |
| I | Interface Segregation | Interfaces should be focused (small) & client specific |
| D | Dependency Inversion | Dependencies should go from concrete to abstract |

Comments