OOP Is Still Cool in 2024
Object-oriented programming might not be perfect but it is still the best we have.
OOP Is Not For Everyone
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?
Data Model vs. Domain Model
ORM is a good servant but a bad master. The object-relational impedance mismatch is still there and as dangerous as ever.
Monolithic Objects
Don't model the real world, model your business!
Java Records Aren’t Necessarily Evil
How do Java Records fit to the object-oriented design?
Too Many Interfaces
Interfaces are good stuff. Does that mean the more the better?
What Is a Repository
Which purpose has a Repository? To which layer does it belong to? And how to implement it correctly?
Domain Collections
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).
Object-Oriented Design vs. Persistence
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.
Treat Data as Data
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.