Once we have divided our solution into a number of composite components, one of the next questions we are typically faced with is:
"Where should I put my validation and how should I implement it?"
At first glance, this may seem like an obvious question, but once you consider that a composite may be made up of other services, which in turn could be made up of other services and so on; it becomes clear that you could potentially end up implementing the same validation in every level.
Apart from the obvious performance implications, you also have the issue of having to implement and maintain the same validation at multiple points within the solution.
When you get down to an individual composite, you still ...