2009.

'Make invalid states unrepresentable' considered harmful

www.seangoedecke.com/invalid-states

One of the most controversial things I believe about good software design is that your code should be more flexible than your domain model. This is in direct…