Make the Draft a Different Class
An offer draft and a published offer are not one entity with a status flag - they are two classes, and the transition is a method that returns the second one. What that buys, and what it silently drops.
Newest first, grouped by year. Search or filter by topic.
An offer draft and a published offer are not one entity with a status flag - they are two classes, and the transition is a method that returns the second one. What that buys, and what it silently drops.
Postsale's aggregate has ten private fields and exactly one public member. Reservation, in the same estate, has eighteen. Following that difference all the way down to the database.
Testing a README's three-tier architecture claim against the source, and finding that the module nobody mentions holds the only real aggregate in the estate.