SOA Patterns > Service Contract Design Patterns > Validation Abstraction
Validation Abstraction (Erl)
How can service contracts be designed to more easily adapt to validation logic changes?
Problem
Service contracts that contain detailed validation constraints become more easily invalidated when the rules behind those constraints change.
Solution
Granular validation logic and rules can be abstracted away from the service contract, thereby decreasing constraint granularity and increasing the contract’s potential longevity.
Application
Abstracted validation logic and rules need to be moved to the underlying service logic, a different service, a service agent, or elsewhere.
Impacts
This pattern can somewhat decentralize validation logic and can also complicate schema standardization.
Architecture
Service
By reducing the overall quantity of constraints and especially filtering out those more prone to change, the longevity of a service contract can be extended.
Related Patterns in This Catalog
Compatible Change, Concurrent Contracts, Entity Abstraction, Partial Validation, Policy Centralization, Rules Centralization, Schema Centralization, Service Agent, Service Refactoring