@startuml
package com.iluwatar.aggregator.microservices {
  class Aggregator {
    - informationClient : ProductInformationClient
    - inventoryClient : ProductInventoryClient
    + Aggregator()
    + getProduct() : Product
  }
  class App {
    + App()
    + main(args : String[]) {static}
  }
  class Product {
    - productInventories : int
    - title : String
    + Product()
    + getProductInventories() : int
    + getTitle() : String
    + setProductInventories(productInventories : int)
    + setTitle(title : String)
  }
  interface ProductInformationClient {
    + getProductTitle() : String {abstract}
  }
  class ProductInformationClientImpl {
    - LOGGER : Logger {static}
    + ProductInformationClientImpl()
    + getProductTitle() : String
  }
  interface ProductInventoryClient {
    + getProductInventories() : int {abstract}
  }
  class ProductInventoryClientImpl {
    - LOGGER : Logger {static}
    + ProductInventoryClientImpl()
    + getProductInventories() : int
  }
}
Aggregator -->  "-informationClient" ProductInformationClient
Aggregator -->  "-inventoryClient" ProductInventoryClient
ProductInformationClientImpl ..|> ProductInformationClient 
ProductInventoryClientImpl ..|> ProductInventoryClient 
@enduml