#590 Add new presentation for Singleton

This commit is contained in:
Ilkka Seppälä
2017-08-12 18:20:45 +03:00
parent 600553ec0f
commit 746e452c2b
5 changed files with 27 additions and 149 deletions

View File

@ -1,43 +0,0 @@
@startuml
package com.iluwatar.singleton {
class App {
- LOGGER : Logger {static}
+ App()
+ main(args : String[]) {static}
}
enum EnumIvoryTower {
+ INSTANCE {static}
+ toString() : String
+ valueOf(name : String) : EnumIvoryTower {static}
+ values() : EnumIvoryTower[] {static}
}
class InitializingOnDemandHolderIdiom {
- InitializingOnDemandHolderIdiom()
+ getInstance() : InitializingOnDemandHolderIdiom {static}
}
-class HelperHolder {
- INSTANCE : InitializingOnDemandHolderIdiom {static}
- HelperHolder()
}
class IvoryTower {
- INSTANCE : IvoryTower {static}
- IvoryTower()
+ getInstance() : IvoryTower {static}
}
class ThreadSafeDoubleCheckLocking {
- instance : ThreadSafeDoubleCheckLocking {static}
- ThreadSafeDoubleCheckLocking()
+ getInstance() : ThreadSafeDoubleCheckLocking {static}
}
class ThreadSafeLazyLoadedIvoryTower {
- instance : ThreadSafeLazyLoadedIvoryTower {static}
- ThreadSafeLazyLoadedIvoryTower()
+ getInstance() : ThreadSafeLazyLoadedIvoryTower {static}
}
}
IvoryTower --> "-INSTANCE" IvoryTower
ThreadSafeDoubleCheckLocking --> "-instance" ThreadSafeDoubleCheckLocking
ThreadSafeLazyLoadedIvoryTower --> "-instance" ThreadSafeLazyLoadedIvoryTower
HelperHolder ..+ InitializingOnDemandHolderIdiom
HelperHolder --> "-INSTANCE" InitializingOnDemandHolderIdiom
@enduml