java-design-patterns/dependency-injection/etc/dependency-injection.urm.puml

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