Saturday, December 24, 2011

Entities have both state and lifecycle

I'm looking at some of my old tweets from No Fluff Just Stuff earlier this year that have to do with Eric Evans' Domain Driven Design. They include:
  • . @thepaulrayner good talk on DDD! #nfjs http://twitpic.com/5u6rul
  • #nfjs DDD: don't update a date at "Terms & Conditions," create a new "Terms & Conditions" http://twitpic.com/5u6haq
  • #nfjs DDD: a value object is immutable - example: abstract to a "Terms & Conditions" value object appropriate bits of a "Warranty" entity
  • #nfjs DDD: Entities have both state and lifecycle - example: a warranty has an enum for status with options: {Pending, Active, Expired}
  • #nfjs DDD: types of objects are Data Transfer Objects (just getters and setters), Entities, and Value Objects
  • http://twitpic.com/5u61q2 of DDD: question to ask business owner when trying to figure this out: What do you do when you adjudicate? #nfjs
The fourth bullet contains "Entities have both state and lifecycle" and we are getting into a building an object of this nature, which Eric Evans would consider a true entity, in our project. The object has states and there are different actions which take one from a state to a state. There is both a happy path forward and some exceptions for routing one backwards too.

No comments:

Post a Comment