· While Facadesimplifies a more complex API, it's usually done by the writer of the servicefor general use. A Gateway is written bythe client for its particular use. In addition, a Facade always implies adifferent interface to what it's covering, whereas a Gatewaymay copy the wrapped facade entirely, being used for substitution or testingpurposes.
· Adapter alters animplementation's interface to match another interface you need to work with.With Gateway there usually isn'tan existing interface, although you might use an adapter to map animplementation to a Gateway interface. Inthis case the adapter is part of the Gatewayimplementation.
· Mediator usuallyseparates multiple objects so that they don't know about each other but do knowabout the mediator. With a Gateway there areusually only two objects involved and the resource that's being wrapped doesn'tknow about the Gateway.