Quelle est la différence entre une abstraction et une façade?
-
21-09-2019 - |
Question
Quelle est la différence entre un « Abstraction » et une « façade »?
Y at-il une différence du tout? Ou sont les termes interchangeables?
Autres conseils
Façade est un modèle de conception spécifique, destiné à cacher les choses internes à l'intérieur d'un paquet / Module de ses clients derrière une interface bien définie. Il se cache généralement plusieurs interfaces / classes derrière une seule commune, d'où son nom.
« Abstraction » est un terme général, ce qui signifie pour cacher les détails concrets de quelque chose du monde extérieur.
Donc ces deux termes ne sont pas interchangeables.
Façade est un modèle de conception GoF, très spécifique. En Essense, il est de cacher la fonctionnalité trop complexe du corps principal de votre application.
L'abstraction est un terme plus vague liée à la fonctionnalité cacher d'un service de son client.
Résumé me signifie prendre les parties communes d'une collection de choses et de créer une chose de base d'eux, que la collection peut alors dessiner, comme une sorte de classe parente.
Une façade est un visage (littéralement parlant), de sorte qu'ils analogie d'une classe de base ne tient pas tout à fait. Une façade est plus d'une interface, il ne serait pas être lié aux choses qui l'utilisent. Je pense plus comme un masque. Ma classe aura un masque « jetable », par exemple.
Alors la différence, dans mon esprit, est qu'un motif abstrait permet une hiérarchie à construire, où en tant que motif de façade permet à des classes se ressemblent.