Make fine-grained interfaces that are client specific.
“Fine-grained interfaces” stands for interfaces with a small amount of methods.
“Client specific” means that interfaces should define methods that make sense from the
point of view of the client that uses the interface.
What violate the Interface Segregation?
- Multiple usecases (Just like service containers)
- No interface, Just a class