Façade (motif de conception)
Un article de Wikipédia, l'encyclopédie libre.
![]() |
Cet article est une ébauche à compléter concernant l'informatique, vous pouvez partager vos connaissances en le modifiant. |
En génie logiciel, le motif 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 business objects participant à un workflow.
[modifier] Exemple
[modifier] 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(), Integer.valueOf(a[1]).intValue()-1 /* !!! */, Integer.valueOf(a[2]).intValue()); } public void addDays(int days) { gcal.add(Calendar.DAY_OF_MONTH, days); } public String toString() { return new Formatter().format("%1$tY-%1$tm-%1$td", gcal).toString();} } /** "Client" */ class FacadePattern { public static void main(String[] args) { UserfriendlyDate d = new UserfriendlyDate("1980-08-20"); System.out.println("Date : "+d); d.addDays(20); System.out.println("20 jours après : "+d); } }
![]() |
Portail de l'informatique – Accédez aux articles de Wikipédia concernant l’informatique. |