2020-09-03 22:08:54 +01:00
|
|
|
@startuml
|
|
|
|
package com.iluwatar.factory {
|
|
|
|
class App {
|
|
|
|
- LOGGER : Logger {static}
|
|
|
|
+ App()
|
|
|
|
+ main(args : String[]) {static}
|
|
|
|
}
|
2021-06-24 15:57:20 +03:00
|
|
|
interface Coin {
|
2020-09-03 22:08:54 +01:00
|
|
|
+ getDescription() : String {abstract}
|
|
|
|
}
|
2021-06-24 15:57:20 +03:00
|
|
|
class CoinFactory {
|
|
|
|
+ CoinFactory()
|
|
|
|
+ getCoin(type : CoinType) : Coin {static}
|
2020-09-03 22:08:54 +01:00
|
|
|
}
|
2021-06-24 15:57:20 +03:00
|
|
|
enum CoinType {
|
|
|
|
+ COPPER {static}
|
|
|
|
+ GOLD {static}
|
|
|
|
- constructor : Supplier<Coin>
|
|
|
|
+ getConstructor() : Supplier<Coin>
|
|
|
|
+ valueOf(name : String) : CoinType {static}
|
|
|
|
+ values() : CoinType[] {static}
|
2020-09-03 22:08:54 +01:00
|
|
|
}
|
2021-06-24 15:57:20 +03:00
|
|
|
class CopperCoin {
|
2020-09-03 22:08:54 +01:00
|
|
|
~ DESCRIPTION : String {static}
|
2021-06-24 15:57:20 +03:00
|
|
|
+ CopperCoin()
|
2020-09-03 22:08:54 +01:00
|
|
|
+ getDescription() : String
|
|
|
|
}
|
2021-06-24 15:57:20 +03:00
|
|
|
class GoldCoin {
|
2020-09-03 22:08:54 +01:00
|
|
|
~ DESCRIPTION : String {static}
|
2021-06-24 15:57:20 +03:00
|
|
|
+ GoldCoin()
|
2020-09-03 22:08:54 +01:00
|
|
|
+ getDescription() : String
|
|
|
|
}
|
|
|
|
}
|
2021-06-24 15:57:20 +03:00
|
|
|
CopperCoin ..|> Coin
|
|
|
|
GoldCoin ..|> Coin
|
2020-09-03 22:08:54 +01:00
|
|
|
@enduml
|