Object-oriented programming has been around for decades and has done a great deal for software development. So why do people keep complaining about it?
ORM is a good servant but a bad master. The object-relational impedance mismatch is still there and as dangerous as ever.
Object-oriented programming might not be perfect but it is still the best we have.
Don't model the real world, model your business!
How do Java Records fit to the object-oriented design?
Interfaces are good stuff. Does that mean the more the better?
Which purpose has a Repository? To which layer does it belong to? And how to implement it correctly?
Collection, List and Set are terms very familiar to developers but hardly used by business experts. Therefore, they should not be part of the domain (API).
From time to time I attend discussions about OOP. Every time someone comes up with the argument of dealing with persistence. The typical question can be reduced to “should an object persist itself or rather be persisted?” I believe the question is fundamentally wrong.
Object-oriented approach is a mighty concept making software more maintainable, which means cheaper and easier to understand. Problems come at boundaries, where objects have to be passed on into a different layer or another system. There, the objects become just data and should be treated like that.