40 lines
847 B
Plaintext
40 lines
847 B
Plaintext
|
@startuml
|
||
|
package com.iluwatar.lazy.loading {
|
||
|
class App {
|
||
|
- LOGGER : Logger {static}
|
||
|
+ App()
|
||
|
+ main(args : String[]) {static}
|
||
|
}
|
||
|
class Heavy {
|
||
|
- LOGGER : Logger {static}
|
||
|
+ Heavy()
|
||
|
}
|
||
|
class HolderNaive {
|
||
|
- LOGGER : Logger {static}
|
||
|
- heavy : Heavy
|
||
|
+ HolderNaive()
|
||
|
+ getHeavy() : Heavy
|
||
|
}
|
||
|
class HolderThreadSafe {
|
||
|
- LOGGER : Logger {static}
|
||
|
- heavy : Heavy
|
||
|
+ HolderThreadSafe()
|
||
|
+ getHeavy() : Heavy
|
||
|
}
|
||
|
class Java8Holder {
|
||
|
- LOGGER : Logger {static}
|
||
|
- heavy : Supplier<Heavy>
|
||
|
+ Java8Holder()
|
||
|
- createAndCacheHeavy() : Heavy
|
||
|
+ getHeavy() : Heavy
|
||
|
}
|
||
|
~class HeavyFactory {
|
||
|
- heavyInstance : Heavy
|
||
|
~ HeavyFactory()
|
||
|
+ get() : Heavy
|
||
|
}
|
||
|
}
|
||
|
HolderThreadSafe --> "-heavy" Heavy
|
||
|
HolderNaive --> "-heavy" Heavy
|
||
|
HeavyFactory --> "-heavyInstance" Heavy
|
||
|
@enduml
|