Skip to main content

Façade

Le patron de la façade permet d'avoir un accès simplifié à un ensemble complexe de classes.

2023-10-03_22-23-13_screenshot.png

Voici à quoi ressemble le patron de la façade :

2023-10-03_22-24-05_screenshot.png

Le fonctoinnement de la facade est que l'on crée une classe facade qui collabore avec les éléments du système pour fournir une interface simple au client. Cependant si la facade devient elle même trop imposante, on peut utiliser faire communiquer une façade avec une autre façade.

Les façades permettent ainsi d'éviter les God objects et les God functions (les objets ou fonctions qui font trop de choses et connaissent trop de classes).

Cohésion et couplage

2023-10-03_22-42-34_screenshot.png

Le patron de la façade a également l'avantage d'augmenter la cohésion, c'est à dire d'augmenter le degré d'interconnexion des membres du système du quel la facade fait partie. Une cohésion forte indique que le type représente un concept clair et réutilisable.

Cependant si le couplage est trop élevé, on arrive dans un God Object (précisément ce que l'on souhaite éviter), c'est pour cela qu'il vaut mieux créer plusieurs façades si une façade devient un peu trop omnisciente.