Interface Segregation Principle
The ‘I’ in SOLID design principles is for the Interface Segregation Principle. The gist of it is that clients should not be forced to implement interfaces they don’t use. In other words, create interfaces that serve the client’s needs, instead of creating one general-purpose interface that attempts to serve all possible clients.
This promotes the use of smaller, more focused interfaces which can be easier to understand and implement.
In keeping with our zoo example, pretend we’re building a management system which would help the zookeepers in their day-to-day jobs.