Single responsibility (from SOLID) is like making me create classes with only one public method. But if it's so, it would be possible use static methods, and go back to procedural programming. What's the difference?
Single responsibility vs procedural programming
object oriented;solid;single responsibility
Single responsibility (from SOLID) is like making me create classes with only one public method.Then you're doing it wrong or need to use a language with good delegate/functor/function object support. Very few responsibilities can be represented with a single pure function. In languages like Java this can happen because you need to use interfaces to provide different implementations to a single function interface, but in general this should not happen. Certainly you can make everything static functions that just pass data around, and if that's easier, by all means do procedural or functional programming. But for many problems, having some shared state or some protected invariants make your life easier, and OO does that work well.