Ein Design kann die Regeln eines oder mehrerer anderer Designs übernehmen (letzteres wird auch als multiple Übernahme bezeichnet). Das erste Design, von dem ein Design seine Regeln übernimmt, wird als primäres Mixin bezeichnet. Nachfolgende übernommene Designs werden als Hilfsdesigns bezeichnet.
Ein primäres Mixin-Design wird häufig (jedoch nicht ausschließlich) zur Organisation der untergeordneten Designs in der Designstruktur des Design-Editors verwendet. Aus anderen Designs übernommene Regeln verhalten sich, als ob sie sich direkt in dem übernehmenden Design befänden.
Eine direkt in einem Design deklarierte Regel gehört zu diesem Design. Eine Regel, die zu einem Design gehört, überschreibt eine Regel gleichen Namens, die aus einem anderen Design übernommen wurde. Im Falle einer multiplen Übernahme können in mehreren übernommenen Designs Regeln mit gleichen Namen vorkommen. In diesem Fall hat die zuerst angegebene Regel in der Mixin-Liste Vorrang.
Nehmen Sie zum Beispiel eine Übernahmeliste mit einem primären Mixin und zwei Hilfsdesigns.
Design Test1 : Tests FirstAux SecondAux LightweightPart Rule myRule As Integer myRule = someRule printValue( "The value of myRule = " & stringValue(myRule)) End Rule End Design
Nehmen Sie weiterhin an, dass alle übernommenen Designs eine Regel mit dem Namen someRule enthalten und dass sich der Wert der Regel someRule in jedem der übernommenen Designs unterscheidet.
Design Tests : ETOSamplesRoot Rule someRule As Integer = 10 End Design
Design FirstAux : ETOSamplesRoot Rule someRule As Integer = 1 End Design
Design SecondAux : ETOSamplesRoot Rule someRule As Integer = 2 End Design
Die Regel des primären Mixins hat in diesem Fall Vorrang vor den gleichnamigen Regeln der beiden Hilfsdesigns. Die in Tests definierte Regel someRule wird zur Berechnung des Werts von myRule in Test1 verwendet.
' Output "The value of myRule = 10"
Gehen Sie nun davon aus, dass diese gleichnamige Regel nur in den beiden Hilfsdesigns enthalten ist. In diesem Fall hat die Regel des erstgenannten Hilfsdesigns FirstAux Vorrang vor der gleichnamigen Regel des zweiten Hilfsdesigns.
' Output "The value of myRule = 1"