Tier 1 · Foundations

Core Concepts

OOP Pillars

SOLID Principles

Creational Patterns

Structural Patterns

Behavioral Patterns

Tier 2

Tier 3

Tier 4

Tier 5

Phase 1: Requirements & Use Cases

Interviewer: "Design a Hotel Management System. Walk me through your approach."

Candidate: "Sure. Let me restate the problem before diving in. A Hotel Management System is software that manages a hotel's core operations: room inventory, guest reservations, check-in and check-out, room service, and invoicing. The primary stakeholders are guests, front-desk staff, and hotel administrators. I'm designing the class model here — not a distributed booking platform or microservices architecture. Does that match what you have in mind?"

Interviewer: "Yes. What actors are involved?"

Candidate: "I see four actors:

  1. Guest — the person making reservations and staying at the hotel
  2. Front Desk Staff — manages check-in, check-out, room assignment, and handles room service requests
  3. Admin — configures room inventory, pricing, and hotel policies
  4. Housekeeping Staff — marks rooms as clean or under maintenance

The core use cases I want to cover are:

  1. Guest searches for available rooms by type and date range
  2. Guest (or staff) creates a reservation
  3. Guest checks in — reservation becomes active, room is assigned
  4. Guest requests room service or amenities during stay
  5. Guest checks out — room is freed, invoice is generated and finalized
  6. Staff marks a room as under maintenance or as cleaned
  7. Admin configures room types and pricing strategies"

Interviewer: "What about online payment integration or loyalty points programs?"

Candidate: "I'd scope both out of V1. Online payment involves an external payment gateway — that's a systems integration concern. Loyalty programs require a separate account management model.…

In the full tutorial

  • Phase 2: Object Modeling
  • Phase 3: Class Design & Relationships
  • Phase 4: Design Patterns Application
  • Phase 5: Key Implementation
  • Phase 6: Extensibility & Trade-offs

Glossary history

Click dotted jargon to save explanations here.