There are so many definitions of OOP out there, varying between different books, documentation and articles.

What really defines OOP?

  • Rikudou_SageA
    link
    2911 months ago

    OOP on its most fundamental level is the principle that stuff is represented by objects and those objects communicate with each other. That’s it, that’s the whole OOP.

    What you are probably referring to is how OOP solves different problems and the different patterns it uses. Those are not OOP itself, those are basically instructions on how to do OOP correctly without shooting yourself in the foot.

    So SOLID, IoC, dependency injection, factory, composition over inheritance and all the other famous principles are not OOP itself, but any medium-size app that’s not following them is set for really fun times ~5 years down the road.

    Not sure if I’ve answered your question, it’s really vague, feel free to ask further.