interface segregation principle
No client should be forced to depend on methods it doesn't use.
The interface segregation principle splits wide interfaces by client (OrderReader, OrderWriter) so each depends only on what it calls; one class may implement several.
See also