58 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								@startuml
							 | 
						||
| 
								 | 
							
								package com.iluwatar.bridge {
							 | 
						||
| 
								 | 
							
								  class App {
							 | 
						||
| 
								 | 
							
								    - LOGGER : Logger {static}
							 | 
						||
| 
								 | 
							
								    + App()
							 | 
						||
| 
								 | 
							
								    + main(args : String[]) {static}
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  interface Enchantment {
							 | 
						||
| 
								 | 
							
								    + apply() {abstract}
							 | 
						||
| 
								 | 
							
								    + onActivate() {abstract}
							 | 
						||
| 
								 | 
							
								    + onDeactivate() {abstract}
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  class FlyingEnchantment {
							 | 
						||
| 
								 | 
							
								    - LOGGER : Logger {static}
							 | 
						||
| 
								 | 
							
								    + FlyingEnchantment()
							 | 
						||
| 
								 | 
							
								    + apply()
							 | 
						||
| 
								 | 
							
								    + onActivate()
							 | 
						||
| 
								 | 
							
								    + onDeactivate()
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  class Hammer {
							 | 
						||
| 
								 | 
							
								    - LOGGER : Logger {static}
							 | 
						||
| 
								 | 
							
								    - enchantment : Enchantment
							 | 
						||
| 
								 | 
							
								    + Hammer(enchantment : Enchantment)
							 | 
						||
| 
								 | 
							
								    + getEnchantment() : Enchantment
							 | 
						||
| 
								 | 
							
								    + swing()
							 | 
						||
| 
								 | 
							
								    + unwield()
							 | 
						||
| 
								 | 
							
								    + wield()
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  class SoulEatingEnchantment {
							 | 
						||
| 
								 | 
							
								    - LOGGER : Logger {static}
							 | 
						||
| 
								 | 
							
								    + SoulEatingEnchantment()
							 | 
						||
| 
								 | 
							
								    + apply()
							 | 
						||
| 
								 | 
							
								    + onActivate()
							 | 
						||
| 
								 | 
							
								    + onDeactivate()
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  class Sword {
							 | 
						||
| 
								 | 
							
								    - LOGGER : Logger {static}
							 | 
						||
| 
								 | 
							
								    - enchantment : Enchantment
							 | 
						||
| 
								 | 
							
								    + Sword(enchantment : Enchantment)
							 | 
						||
| 
								 | 
							
								    + getEnchantment() : Enchantment
							 | 
						||
| 
								 | 
							
								    + swing()
							 | 
						||
| 
								 | 
							
								    + unwield()
							 | 
						||
| 
								 | 
							
								    + wield()
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  interface Weapon {
							 | 
						||
| 
								 | 
							
								    + getEnchantment() : Enchantment {abstract}
							 | 
						||
| 
								 | 
							
								    + swing() {abstract}
							 | 
						||
| 
								 | 
							
								    + unwield() {abstract}
							 | 
						||
| 
								 | 
							
								    + wield() {abstract}
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								Sword -->  "-enchantment" Enchantment
							 | 
						||
| 
								 | 
							
								Hammer -->  "-enchantment" Enchantment
							 | 
						||
| 
								 | 
							
								FlyingEnchantment ..|> Enchantment 
							 | 
						||
| 
								 | 
							
								Hammer ..|> Weapon 
							 | 
						||
| 
								 | 
							
								SoulEatingEnchantment ..|> Enchantment 
							 | 
						||
| 
								 | 
							
								Sword ..|> Weapon 
							 | 
						||
| 
								 | 
							
								@enduml
							 |