Pattern 11: Use Shared Messages and Parameter Types
Reduce maintenance costs by sharing data element types between Participants.
Relationships
Main Description

Context

See the context for "Pattern 10: Keep architectural elements totally decoupled".

Problem

Keeping separate copies of specification artifacts for each Participant as suggested in "Pattern 10: Keep architectural elements totally decoupled" involves additional work.

Forces

  • When a change is made to a domain type, that same change might need to be made to multiple parameter types that are based on that domain type (we say "might" because in some cases the change to the domain type might be outside of the scope of the parameter type required for a specific Participant ).
  • Instead of just using a parameter type in a shared library of parameter types, a new parameter type has to be created for each Participant that requires it.

Solution

Create a resource containing specification artifacts that can be shared between Participants. This can contain the following shared values:

Rationale

Having shared specification artifacts means:

  • You only have to apply changes to shared specification artifacts in one place rather than having to make certain changes to multiple identical specification artifacts.
  • You do not have to create multiple copies of the same parameter types.
More Information