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