Software Architecture · SOLID Principles
How should Interface Segregation Principle be applied in a production system?
Design interfaces from consumer needs, keep related operations together, and separate capabilities when consumers vary.