Run Code | API | Code Wall | Misc | Feedback | Login | Theme | Privacy | Patreon |
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 |
λ
.NET NoSQL database for rapid development
|