Interface segregation principle
No client should be forced to depend on methods it does not use.
SP splits interfaces that are very large into smaller and more specific ones so that clients will only have to know about the methods that are of interest to them.
ISP is intended to keep a system decoupled and thus easier to refactor, change, and redeploy.
