The constraints on who can take off or land are enforced by the tower. It is important to note that the tower does not control the whole flight. It exists only to enforce constraints in the terminal area. Chain of Responsibility passes a sender request along a chain of potential receivers. Command normally specifies a sender-receiver connection with a subclass.
Mediator has senders and receivers reference each other indirectly.
Observer defines a very decoupled interface that allows for multiple receivers to be configured at run-time. Mediator and Observer are competing patterns. We've found it easier to make reusable Observers and Subjects than to make reusable Mediators. On the other hand, Mediator can leverage Observer for dynamically registering colleagues and communicating with them. Mediator is similar to Facade in that it abstracts functionality of existing classes.