@startuml client_side_ui_composition_updated skinparam classAttributeIconSize 0 class ApiGateway { +registerRoute(path: String, component: FrontendComponent) +handleRequest(path: String, params: Map): String } class FrontendComponent { +fetchData(params: Map): String #getData(params: Map): String } class ProductFrontend { +getData(params: Map): String } class CartFrontend { +getData(params: Map): String } class ClientSideIntegrator { +composeUI(path: String, params: Map) } ApiGateway --> FrontendComponent FrontendComponent <|-- ProductFrontend FrontendComponent <|-- CartFrontend ClientSideIntegrator --> ApiGateway @enduml