Value Objects for the Win!
Jun 15 2025Value Objects solve the primitive obsession problem by encapsulating data, validation, and behavior in a single unit. Stop scattering domain logic and start creating more cohesive, maintainable code.
Value Objects solve the primitive obsession problem by encapsulating data, validation, and behavior in a single unit. Stop scattering domain logic and start creating more cohesive, maintainable code.
Mutability × Time: The Compound Risk series.
Proven techniques for containing the compound risk of mutable state over time. From theoretical patterns to a successful real-world refactoring that eliminated invisible coupling.
Mutability × Time: The Compound Risk series.
Why components become secretly coupled through shared mutable state. Examines how invisible dependencies erode trust and create debugging nightmares separated by both code and time.
Mutability × Time: The Compound Risk series.
The anatomy of object decay over time. Examines how instances progress through Birth, Initialization, Drift, Contamination, and Corruption—and why each stage compounds the previous problems.
Mutability × Time: The Compound Risk series.
Why longer-lived mutable instances become exponentially more dangerous over time. Explores the counterintuitive relationship between object longevity and system reliability through a real-world state management failure.
As software developers, we might think that our main job is to write code and create solutions. But really, our most important job is to understand the problems we're trying to solve. In this article, we'll talk about why it's important to understand the problem domain, why this helps us build better software, and how developers can get better at it.
Year after year we find code injection in the OWASP 10. Despite this kind of vulnerability was discovered and reported more than twenty years ago, it seems not that easy to get rid of. SQL injections are one of these. Let's see some examples.
Security in IT is a gigantic huge topic that is impossible to fully cover. In addition, it constantly evolves and almost every single day appears a new vulnerability, malware or God damn knows what technique in order to compromise a system.