89 lines
2.1 KiB
Plaintext
89 lines
2.1 KiB
Plaintext
@startuml
|
|
package com.iluwatar.bridge {
|
|
class FlyingMagicWeapon {
|
|
+ FlyingMagicWeapon(imp : FlyingMagicWeaponImpl)
|
|
+ fly()
|
|
+ getImp() : FlyingMagicWeaponImpl
|
|
+ swing()
|
|
+ unwield()
|
|
+ wield()
|
|
}
|
|
class Stormbringer {
|
|
+ Stormbringer()
|
|
+ eatSoulImp()
|
|
+ swingImp()
|
|
+ unwieldImp()
|
|
+ wieldImp()
|
|
}
|
|
abstract class FlyingMagicWeaponImpl {
|
|
+ FlyingMagicWeaponImpl()
|
|
+ flyImp() {abstract}
|
|
}
|
|
class SoulEatingMagicWeapon {
|
|
+ SoulEatingMagicWeapon(imp : SoulEatingMagicWeaponImpl)
|
|
+ eatSoul()
|
|
+ getImp() : SoulEatingMagicWeaponImpl
|
|
+ swing()
|
|
+ unwield()
|
|
+ wield()
|
|
}
|
|
abstract class MagicWeaponImpl {
|
|
+ MagicWeaponImpl()
|
|
+ swingImp() {abstract}
|
|
+ unwieldImp() {abstract}
|
|
+ wieldImp() {abstract}
|
|
}
|
|
abstract class SoulEatingMagicWeaponImpl {
|
|
+ SoulEatingMagicWeaponImpl()
|
|
+ eatSoulImp() {abstract}
|
|
}
|
|
class Excalibur {
|
|
+ Excalibur()
|
|
+ blindImp()
|
|
+ swingImp()
|
|
+ unwieldImp()
|
|
+ wieldImp()
|
|
}
|
|
class Mjollnir {
|
|
+ Mjollnir()
|
|
+ flyImp()
|
|
+ swingImp()
|
|
+ unwieldImp()
|
|
+ wieldImp()
|
|
}
|
|
class App {
|
|
+ App()
|
|
+ main(args : String[]) {static}
|
|
}
|
|
abstract class MagicWeapon {
|
|
# imp : MagicWeaponImpl
|
|
+ MagicWeapon(imp : MagicWeaponImpl)
|
|
+ getImp() : MagicWeaponImpl
|
|
+ swing() {abstract}
|
|
+ unwield() {abstract}
|
|
+ wield() {abstract}
|
|
}
|
|
abstract class BlindingMagicWeaponImpl {
|
|
+ BlindingMagicWeaponImpl()
|
|
+ blindImp() {abstract}
|
|
}
|
|
class BlindingMagicWeapon {
|
|
+ BlindingMagicWeapon(imp : BlindingMagicWeaponImpl)
|
|
+ blind()
|
|
+ getImp() : BlindingMagicWeaponImpl
|
|
+ swing()
|
|
+ unwield()
|
|
+ wield()
|
|
}
|
|
}
|
|
MagicWeapon --> "-imp" MagicWeaponImpl
|
|
FlyingMagicWeapon --|> MagicWeapon
|
|
Stormbringer --|> SoulEatingMagicWeaponImpl
|
|
FlyingMagicWeaponImpl --|> MagicWeaponImpl
|
|
SoulEatingMagicWeapon --|> MagicWeapon
|
|
SoulEatingMagicWeaponImpl --|> MagicWeaponImpl
|
|
Excalibur --|> BlindingMagicWeaponImpl
|
|
Mjollnir --|> FlyingMagicWeaponImpl
|
|
BlindingMagicWeaponImpl --|> MagicWeaponImpl
|
|
BlindingMagicWeapon --|> MagicWeapon
|
|
@enduml |