Events vs. Commands in DDD

There are situations where events and commands seem to be a good solution for a problem. Where to use events and where are commands the best fit?

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.

SOLID Principles in Java by Example

There are a lot of articles about the SOLID principles. But usually a different example for a particular principle is to be found. Instead, would it be nice to demonstrate all of them on a single code snippet?

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.