Tuesday, 24 December 2013

Mediator Design pattern - Real Time Example [ATC]

Master Object-Oriented Software Design!

Subscribe to Ram N Java for intuitive programming tutorials, design pattern implementations, and software architecture guides!

🔔 Subscribe to Ram N Java

The Analogy: Air Traffic Control (ATC)

Imagine an airport where multiple airplanes are preparing to take off or land. If pilots had to communicate directly with every other pilot in the airspace to negotiate runway access:

  • Every flight would need continuous radio connections to every other flight nearby.
  • As air traffic increases, the number of point-to-point communications grows exponentially, creating chaos and safety hazards.
  • Direct coordination between all flights creates tight coupling and overwhelming complexity.

How the Mediator Pattern Resolves the Chaos

In aviation, this problem is solved by introducing an Air Traffic Control (ATC) Tower—the quintessential real-world example of the Mediator Design Pattern:

  • The Mediator (ATC Tower): The control tower acts as the single central hub. It tracks runway status, determines landing orders, and grants clearances.
  • The Colleagues (Airplanes / Flights): Pilots do not negotiate with one another. Each pilot communicates exclusively with the ATC tower to request clearance.
  • Centralized Coordination: The tower coordinates between flights, ensuring safe separations and orderly arrivals without pilots ever needing direct connections.

Key Software Architecture Takeaways

Applying this model to software design provides powerful benefits:

  • Loose Coupling: Components (colleagues) interact only with the mediator, keeping them independent and easy to test or modify.
  • Replaces Mesh with Hub-and-Spoke: Transforms a messy many-to-many dependency web into a clean one-to-many relationship.
  • Centralized Protocol: Coordination, routing, and access rules are contained in one place, making updates straightforward without touching client classes.

Related Tutorials from Ram N Java


Click here to watch in Youtube : https://www.youtube.com/watch?v=0wv_8pm6e_U

Click the below Image to Enlarge

Mediator Design pattern - Real Time Example [ATC]

















See also:

  • Mediator Design pattern - Introduction
  • Mediator Design pattern - When to Use
  • Mediator Design pattern - Real Time Example [Facebook]
  • Mediator Design pattern - Real Time Example [Chat Room]
  • Mediator Design pattern - Class Diagram
  • Mediator Design pattern - Implementation [Facebook]
  • Mediator Design pattern - Implementation [Chat Room]
  • Mediator Design pattern - KeyPoints
  • All Design Patterns Links
  • No comments:

    Post a Comment

    Tutorials