java-design-patterns/lazy-loading/etc/lazy-loading.urm.puml

35 lines
692 B
Plaintext

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