I believe that you are breaking the ISP doing that.
Rodrigo Henriques

A class should only have one role (SRP), right? Eg. handling the lifecycle of one particular model. The ISP is overlapping the SRP and is all about separating the different roles of a class. One role can have more then one method eg. the role of the repository have the CRUD methods.

This is a really good example of how I see the ISP: “Interface Segregation Principle in 5 minutes”

We should keep the code as simple as possible and abstraction is a way of making the code more complex (with the purpose to make it easier to work with).

I believe that the perfect code is without abstractions but all rules have their exceptions so of course are they needed. Imho separating the CRUD methods is to make things way to overcomplicated and over engineered.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.