퍼사드와 미디에이터 패턴은 둘 다 어떤 종류의 정책을 다른 객체들의 그룹에 부과하기 위해 사용한다. 차이가 있다면 퍼사드는 위로부터 정책을 적용하고, 미디에이터는 아래로부터 정책을 적용한다. 또한 퍼사드는 가시적이고 강제적이지만, 미디에이터는 비가시적이고 허용적이다.
퍼사드 패턴을 사용하면 복잡하고 일반적인 인터페이스를 가진 객체 그룹에 간단하고 구체적인 인터페이스를 제공할 수 있다. 예를 들어 책의 예시 중 하나인 DB 퍼사드를 보면 Application은 DB 클래스만 알 뿐 java.sql 패키지 안의 구체적 내용을 알 필요가 없게끔 보호받고 있다. 여기서 DB클래스는 java.sql의 모든 일반성과 복잡성을 아주 간단하고 구체적인 인터페이스 뒤에 숨기고 있다. 이때 이 DB클래스를 퍼사드라고 한다.
이런 퍼사드 패턴의 사용은 개발자가 모든 데이터베이스 호출이 DB를 통과해야한다는 규정을 채택했다는 것을 내포하는 것이다. 만약 Application에서 DB를 사용하지 않고 바로 java.sql을 사용한다면 이것은 규정을 위반하는 것이 된다. 이처럼 퍼사드는 자신의 정책을 Application에 적용하게 된다. 마치 DB는 java.sql에 있는 기능들의 독점 중개인 같은 느낌인 것이다.
미디에이터 패턴도 정책을 적용할 때 사용한다. 미디에이터는 자신의 정책을 은밀하고 강제적이지 않은 방식으로 적용한다.
책의 예시를 살펴보면 JTextField와 JList를 필드로 가지는 QuickEntryMediator가 있다. 이 QuickEntryMediator는 JList와 JTextField 사용자가 이 미디에이터의 존재를 알지도 못하는 상태에서 자신의 정책을 이들 객체의 인식 없이 은밀하게 적용한다.
정책 적용이 크고 중심이 되며, 가시적이어야한다면 퍼사드를 사용할 수 있고, 교묘하고 은밀하게 적용해야하는 경우 미디에이터를 사용할 수 있을 것이다.