1+ @startuml
2+ package com . iluwatar . strangler {
3+ class App {
4+ + App ()
5+ + main(args : String[]) {static}
6+ }
7+ class HalfArithmetic {
8+ - LOGGER : Logger {static}
9+ - VERSION : String {static}
10+ - newSource : HalfSource
11+ - oldSource : OldSource
12+ + HalfArithmetic(newSource : HalfSource, oldSource : OldSource)
13+ + ifHasZero(nums : int[]) : boolean
14+ + mul(nums : int[]) : int
15+ + sum(nums : int[]) : int
16+ }
17+ class HalfSource {
18+ - LOGGER : Logger {static}
19+ - VERSION : String {static}
20+ + HalfSource ()
21+ + accumulateSum(nums : int[]) : int
22+ + ifNonZero(nums : int[]) : boolean
23+ }
24+ class NewArithmetic {
25+ - LOGGER : Logger {static}
26+ - VERSION : String {static}
27+ - source : NewSource
28+ + NewArithmetic(source : NewSource)
29+ + ifHasZero(nums : int[]) : boolean
30+ + mul(nums : int[]) : int
31+ + sum(nums : int[]) : int
32+ }
33+ class NewSource {
34+ - LOGGER : Logger {static}
35+ - VERSION : String {static}
36+ + NewSource ()
37+ + accumulateMul(nums : int[]) : int
38+ + accumulateSum(nums : int[]) : int
39+ + ifNonZero(nums : int[]) : boolean
40+ }
41+ class OldArithmetic {
42+ - LOGGER : Logger {static}
43+ - VERSION : String {static}
44+ - source : OldSource
45+ + OldArithmetic(source : OldSource)
46+ + mul(nums : int[]) : int
47+ + sum(nums : int[]) : int
48+ }
49+ class OldSource {
50+ - LOGGER : Logger {static}
51+ - VERSION : String {static}
52+ + OldSource ()
53+ + accumulateMul(nums : int[]) : int
54+ + accumulateSum(nums : int[]) : int
55+ }
56+ }
57+ OldArithmetic --> "- source " OldSource
58+ NewArithmetic --> "- source " NewSource
59+ HalfArithmetic --> "- newSource " HalfSource
60+ HalfArithmetic --> "- oldSource " OldSource
61+ @enduml
0 commit comments