Flexibility: add/replace transformers; replace controller
Implementation: Has the following components: shared data structure, set of transformers, controller that selects transformers.
See also: Repository
Flexibility: multiple commands; add functionality such as undo/redo, scheduling.
Implementation: encapsulate command with additional state (the object(s) on which to operate); add command processor.
Flexibility: a) decoupling: handler of request is not known a priori (determined dynamically); b) extensibility: add new handlers.
Implementation: common interface for handlers, delegation along chain.
Note: could also be listed under decoupling.
Flexibility: add/remove states.
Implementation: distributed form of a finite state machine: uniform interface for actions; each state object implements behavior appropriate for given state.
Flexibility: add/remove slaves, e.g. to scale parallelism
Implementation: master process creates slave processes, supplies request(s), waits for completion, then may destroy slaves.
Flexibility: adjust/replace controller.
Implementation: controller, process variables, input variables, controlled variables, manipulated variables, sensors, set point.
Variations:
|
|
|