What is Interface Segregation Principle?
The Interface Segregation Principle (ISP) states that:
Clients should not be forced to depend on interfaces they do not use.
This means that interfaces should be small and focused, containing only the methods that
are relevant to the implementing class. It prevents "fat" or "bloated" interfaces.