24
Order Example
This example illustrates the Order using ‘State’ Design Pattern. The challenge of a pattern like this is: what facts do different Functions of the business care about. What is the specific Function’s language?
Subclass of Transaction
Typically, in my experience I always see Order tables with various ‘state’ flags and dates. In this view, the states are clearly enumerated. In object based models, the specific features of the states are enumerated in each state. E.g. Date, Reason, etc. The only thing ‘interesting’ about Order may be its unique ID.
Different Functions tend to call the same State different Names. Or even confuse names, like calling Canceled – Rejected. Or they’ll overload terms by calling Canceled – Stopped. What about internationalization and cultural problems. Some cultures may have problems with certain words that evoke certain images. Traditionally we’ve spent lifetimes of productivity arguing over names. The difficulty is coming up with models and techniques that minimize the issue.