36 lines
794 B
Plaintext
Raw Permalink Normal View History

@startuml
package com.iluwatar.factory {
class App {
- LOGGER : Logger {static}
+ App()
+ main(args : String[]) {static}
}
interface Coin {
+ getDescription() : String {abstract}
}
class CoinFactory {
+ CoinFactory()
+ getCoin(type : CoinType) : Coin {static}
}
enum CoinType {
+ COPPER {static}
+ GOLD {static}
- constructor : Supplier<Coin>
+ getConstructor() : Supplier<Coin>
+ valueOf(name : String) : CoinType {static}
+ values() : CoinType[] {static}
}
class CopperCoin {
~ DESCRIPTION : String {static}
+ CopperCoin()
+ getDescription() : String
}
class GoldCoin {
~ DESCRIPTION : String {static}
+ GoldCoin()
+ getDescription() : String
}
}
CopperCoin ..|> Coin
GoldCoin ..|> Coin
@enduml