# ythanorogo/facadepattern architecture

> Architecture diagram of the GitHub repository ythanorogo/facadepattern, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ythanorogo/facadepattern
- Repository: https://github.com/ythanorogo/facadepattern

## Overview

This small Java example demonstrates a hotel-service facade. HotelApp invokes FrontDesk, which exposes individual service requests and combined check-in/check-out operations; the facade delegates cart delivery, room cleaning, and vehicle retrieval to their respective services. The README describes the same capabilities. The graph reflects the supplied source excerpts; it does not imply persistence or external hotel systems.

Main entry points: [`FacadePattern/FrontDesk.java`](https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/FrontDesk.java) (FrontDesk Facade), [`FacadePattern/HotelService.java`](https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/HotelService.java) (HotelService), [`FacadePattern/Valet.java`](https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/Valet.java) (Valet), [`FacadePattern/HouseKeeping.java`](https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/HouseKeeping.java) (HouseKeeping)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_hotelapp["HotelApp<br/>[HotelApp.java]"]
node_frontdesk["FrontDesk Facade<br/>[FrontDesk.java]"]
node_hotelservice["HotelService<br/>[HotelService.java]"]
node_valet["Valet<br/>[Valet.java]"]
node_housekeeping["HouseKeeping<br/>[HouseKeeping.java]"]
node_cart["Cart<br/>[Cart.java]"]

node_hotelapp -->|"invokes"| node_frontdesk
node_frontdesk -->|"retrieves vehicles"| node_valet
node_frontdesk -->|"cleans rooms"| node_housekeeping
node_frontdesk -->|"delivers carts"| node_cart
node_valet -->|"implements"| node_hotelservice
node_housekeeping -->|"implements"| node_hotelservice
node_cart -->|"implements"| node_hotelservice

click node_hotelapp "https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/HotelApp.java"
click node_frontdesk "https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/FrontDesk.java"
click node_hotelservice "https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/HotelService.java"
click node_valet "https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/Valet.java"
click node_housekeeping "https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/HouseKeeping.java"
click node_cart "https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/Cart.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_hotelapp,node_frontdesk,node_hotelservice,node_valet,node_housekeeping,node_cart toneTeal
```

## Components

### Other components

- [HotelApp](https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/HotelApp.java): `FacadePattern/HotelApp.java`
- [FrontDesk Facade](https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/FrontDesk.java): `FacadePattern/FrontDesk.java`
- [HotelService](https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/HotelService.java): `FacadePattern/HotelService.java`
- [Valet](https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/Valet.java): `FacadePattern/Valet.java`
- [HouseKeeping](https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/HouseKeeping.java): `FacadePattern/HouseKeeping.java`
- [Cart](https://github.com/ythanorogo/facadepattern/blob/main/FacadePattern/Cart.java): `FacadePattern/Cart.java`

## Connections

- HotelApp → FrontDesk Facade: invokes
- FrontDesk Facade → Valet: retrieves vehicles
- FrontDesk Facade → HouseKeeping: cleans rooms
- FrontDesk Facade → Cart: delivers carts
- Valet → HotelService: implements
- HouseKeeping → HotelService: implements
- Cart → HotelService: implements
