Use Restrictable Characteristics

Print

Context

Guiding the user through configuration requires dynamic restriction of no longer available choices.

Recommended Practice

Use restrictable characteristics in conjunction with tables.
Minimize use of preconditions.

Benefits of the Practice

Preconditions are always easy to use at first, but with time become increasingly difficult to handle on shared objects. Using restrictable characteristics and table based restrictions (see below) allows for a clean separation restrictable logic from the definition of the characteristic (which can be easily shared driving common data standard).

Exceptions

Calculating the domain of restrictable characteristics in VC is an expensive operation, often more so than running preconditions. If maximizing native VC performance is a must, do not use this practice. If IPC is used for high-level VC configuration, then this exception does not apply (as IPC has much better performance in calculating restricted domains).