Expressing intent

Many good programming practices boil down to preparing for change or expressing intent. Novices emphasize the former, experts the latter. (John D. Cook)…

Creational use cases

"When dealing with "creational" use cases, try to find another aggregate or factory you can move that responsibility to. Sometimes the factory is just a static method (good for "context"/"intent" capturing), sometimes it's an instance method of another aggregate (good place for "data" inheritance), sometimes it's an explicit factory…