Some domain concepts are easier to spot than others. Today we deal with one of most slippery concepts of all.
Having model attributes at different levels of abstraction can quickly complicate an application. In this episode, we'll level the playing field.
In this sequel to #430, we apply a powerful pattern for encapsulating problem values.
In which we examine some of the pitfalls of handling badly-formed user input for Whole Value fields.
In this episode, we address the Primitive Obsession code smell with a lesser-known design pattern.
Today, in part 1 of 2, we explore the implications of a common code smell.
Naming things is hard, and it's difficult to come up with hard-and-fast rules for it. But it can be helpful to learn from examples of real-world naming decisions that led …