48 lines
1.1 KiB
Plaintext
48 lines
1.1 KiB
Plaintext
@startuml
|
|
package com.iluwatar.api.gateway {
|
|
class App {
|
|
+ App()
|
|
+ main(args : String[]) {static}
|
|
}
|
|
class PriceClientImpl {
|
|
+ PriceClientImpl()
|
|
+ getPrice() : String
|
|
}
|
|
class ImageClientImpl {
|
|
+ ImageClientImpl()
|
|
+ getImagePath() : String
|
|
}
|
|
class MobileProduct {
|
|
- price : String
|
|
+ MobileProduct()
|
|
+ getPrice() : String
|
|
+ setPrice(price : String)
|
|
}
|
|
interface ImageClient {
|
|
+ getImagePath() : String {abstract}
|
|
}
|
|
class ApiGateway {
|
|
- imageClient : ImageClient
|
|
- priceClient : PriceClient
|
|
+ ApiGateway()
|
|
+ getProductDesktop() : DesktopProduct
|
|
+ getProductMobile() : MobileProduct
|
|
}
|
|
class DesktopProduct {
|
|
- imagePath : String
|
|
- price : String
|
|
+ DesktopProduct()
|
|
+ getImagePath() : String
|
|
+ getPrice() : String
|
|
+ setImagePath(imagePath : String)
|
|
+ setPrice(price : String)
|
|
}
|
|
interface PriceClient {
|
|
+ getPrice() : String {abstract}
|
|
}
|
|
}
|
|
ApiGateway --> "-imageClient" ImageClient
|
|
ApiGateway --> "-priceClient" PriceClient
|
|
PriceClientImpl ..|> PriceClient
|
|
ImageClientImpl ..|> ImageClient
|
|
@enduml |