44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
@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 {
 | 
						|
    - flag : boolean {static}
 | 
						|
    - 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 |