Composite Design Pattern Demonstration
=== Objects construction ===
[TRACE] Create group = groupA
[TRACE] id = groupA ; Add object = Triangle
[TRACE] id = groupA ; Add object = Line
[TRACE] id = groupA ; Add object = Line
[TRACE] Create group = GroupB
[TRACE] id = GroupB ; Add object = Triangle
[TRACE] id = GroupB ; Add object = Triangle
[TRACE] id = GroupB ; Add object = Line
[TRACE] id = GroupB ; Add object = Line
[TRACE] id = GroupB ; Add object = Triangle
[TRACE] id = groupA; Add object = Group
=== End of object construction ===
Total of elements of groupA = 8
Total of elements of groupB = 5
[*] ==> Draw group B
[TRACE] Draw group - id = GroupB
[TRACE] Draw triangle - id = triangleB1
[TRACE] Draw triangle - id = triangleB2
[TRACE] Draw line - id = LineB1
[TRACE] Draw line - id = LineB2
[TRACE] Draw triangle - id = triangleB3
[*] ==> Rotate group B
[TRACE] Rotate group - id = GroupB
[TRACE] Rotate triangle id = triangleB1 angle = 90
[TRACE] Rotate triangle id = triangleB2 angle = 90
[TRACE] Rotate line ; id = LineB1; angle = 90
[TRACE] Rotate line ; id = LineB2; angle = 90
[TRACE] Rotate triangle id = triangleB3 angle = 90
[*] ==> Draw group A
[TRACE] Draw group - id = groupA
[TRACE] Draw triangle - id = triangleA1
[TRACE] Draw line - id = lineA1
[TRACE] Draw line - id = LineA2
[TRACE] Draw group - id = GroupB
[TRACE] Draw triangle - id = triangleB1
[TRACE] Draw triangle - id = triangleB2
[TRACE] Draw line - id = LineB1
[TRACE] Draw line - id = LineB2
[TRACE] Draw triangle - id = triangleB3
[*] ==> Rotate group A
[TRACE] Rotate group - id = groupA
[TRACE] Rotate triangle id = triangleA1 angle = 15
[TRACE] Rotate line ; id = lineA1; angle = 15
[TRACE] Rotate line ; id = LineA2; angle = 15
[TRACE] Rotate group - id = GroupB
[TRACE] Rotate triangle id = triangleB1 angle = 15
[TRACE] Rotate triangle id = triangleB2 angle = 15
[TRACE] Rotate line ; id = LineB1; angle = 15
[TRACE] Rotate line ; id = LineB2; angle = 15
[TRACE] Rotate triangle id = triangleB3 angle = 15
[*] ==> Remove objects from group B
[TRACE] Draw group - id = groupA
[TRACE] Draw triangle - id = triangleA1
[TRACE] Draw line - id = lineA1
[TRACE] Draw line - id = LineA2
[TRACE] Draw group - id = GroupB
=== End of Program ====
[TRACE] Destroy group - id = << groupA
[TRACE] Destroy group - id = << GroupB
|
|