49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| @startuml
 | |
| package com.iluwatar.dependency.injection {
 | |
|   class AdvancedWizard {
 | |
|     - tobacco : Tobacco
 | |
|     + AdvancedWizard(tobacco : Tobacco)
 | |
|     + smoke()
 | |
|   }
 | |
|   class App {
 | |
|     + App()
 | |
|     + main(args : String[]) {static}
 | |
|   }
 | |
|   class GuiceWizard {
 | |
|     - tobacco : Tobacco
 | |
|     + GuiceWizard(tobacco : Tobacco)
 | |
|     + smoke()
 | |
|   }
 | |
|   class OldTobyTobacco {
 | |
|     + OldTobyTobacco()
 | |
|   }
 | |
|   class RivendellTobacco {
 | |
|     + RivendellTobacco()
 | |
|   }
 | |
|   class SecondBreakfastTobacco {
 | |
|     + SecondBreakfastTobacco()
 | |
|   }
 | |
|   class SimpleWizard {
 | |
|     - tobacco : OldTobyTobacco
 | |
|     + SimpleWizard()
 | |
|     + smoke()
 | |
|   }
 | |
|   abstract class Tobacco {
 | |
|     - LOGGER : Logger {static}
 | |
|     + Tobacco()
 | |
|     + smoke(wizard : Wizard)
 | |
|   }
 | |
|   interface Wizard {
 | |
|     + smoke() {abstract}
 | |
|   }
 | |
| }
 | |
| SimpleWizard -->  "-tobacco" OldTobyTobacco
 | |
| AdvancedWizard -->  "-tobacco" Tobacco
 | |
| GuiceWizard -->  "-tobacco" Tobacco
 | |
| AdvancedWizard ..|> Wizard 
 | |
| GuiceWizard ..|> Wizard 
 | |
| OldTobyTobacco --|> Tobacco 
 | |
| RivendellTobacco --|> Tobacco 
 | |
| SecondBreakfastTobacco --|> Tobacco 
 | |
| SimpleWizard ..|> Wizard 
 | |
| @enduml |