En [[génie logiciel]], le [[patron de conception]] (ou ''design pattern'') '''façade''' a pour but de cacher une conception et une interface complexe difficile à comprendre (cette complexité étant apparue "naturellement" avec l'évolution du sous-système en question).
La façade permet de simplifier cette complexité en fournissant une interface simple du sous-système. Habituellement, la façade est réalisée en réduisant les fonctionnalités de ce dernier mais en fournissant toutes les fonctions nécessaires à la plupart des utilisateurs.
La façade encapsule la complexité des interactions entre les objets métier participant à un [[workflow]].
== Exemple ==
=== Java ===
L'exemple suivant cache une API de gestion de calendrier compliquée, derrière une façade plus simple. Il affiche :
''Date: 1980-08-20''
''20 jours après : 1980-09-09''
import java.util.*;
''/** "Façade" */''
'''class UserfriendlyDate'''
{
GregorianCalendar gcal;
public UserfriendlyDate(String isodate_ymd) {
String[] a = isodate_ymd.split("-");
gcal = new GregorianCalendar(Integer.valueOf(a[0]).intValue(),