Examples of SOLID principles in Kotlin
- Entities should only have one reason to change
- Entities should be open for extension, but closed for modification
- Derived classes must be substitutable for their base classes
- Clients should not be forced to program against interfaces they do not use
- Program to an interface, not an implementation