Comprendre le modèle de conception de façade

Jan 22 2023
Voici mes notes sur Facade Design Pattern. Qu'est-ce qu'un modèle de conception de façade ? Il s'agit essentiellement d'un modèle de conception structurelle qui fournit une interface simplifiée à un ensemble de classes complexes.

Voici mes notes sur Facade Design Pattern.

Qu'est-ce qu'un modèle de conception de façade ?

Il s'agit essentiellement d'un modèle de conception structurelle qui fournit une interface simplifiée à un ensemble de classes complexes.

Souvent nécessaire lorsqu'il existe un grand nombre de classes interdépendantes ou parce que des parties du code ne sont pas disponibles.

En d'autres termes, nous pouvons dire qu'il s'agit d'un camouflage pour couvrir toutes les complexités du système complexe et fournit une enveloppe simplifiée pour masquer les détails des implémentations.

Les avantages du modèle de conception de façade

  • Découpler la logique système complexe des clients
  • Favorise le principe de couplage lâche
  • En raison du faible degré d'interdépendance des composants individuels, les changements (modifications, maintenance) sont pratiques et possibles dans n'importe quelle équipe
  • Le logiciel devient plus flexible et facilement extensible
  • Un degré élevé de dépendance vis-à-vis de l'interface de façade
  • Implémentations complexes en particulier avec du code existant
  • Un niveau supplémentaire d'abstraction est ajouté grâce à Facade.

Dans cet exemple, nous cachons la complexité de dessiner quelque chose derrière la classe ShapeMaker.

Nous passons Rectangle, Circle et Square de l'extérieur de la classe parce que je ne veux pas créer de dépendance à l'intérieur de ShapeMaker. Mais c'est un sujet différent.

Pour cet exemple, vous pouvez créer de nouvelles instances dans la fonction ShapeMaker.

Les références