Fully-Parameterized Template

Definition:

  • All fields of a template are defined by formal parameters.

Code Example:

type record MyMessageType {
    integer field1,
    charstring field2,
    boolean field3
}

template MyMessageType exampleTemplate(integer i, charstring c, boolean b) := {
    field1 := i,
    field2 := c,
    field3 := b
}

function f() runs on MyComponent {
    // ...
    p.send(exampleTemplate(42, "dent", true));
    // ...
}

References:

Quality attributes

  • - Code Example

  • - Cause and Effect

  • - Frequency

  • - Refactoring