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?

Était-ce utile?

La solution

est une interface simplifiée à une base de code plus grand, peut-être plus complexe. La base de code peut être une seule classe, ou plus. La façade vous donne juste une interface simple pour elle.

abstraction, est utilisé pour représenter un concept, mais ne doit pas être lié à une instance spécifique. (Ie: Une classe abstraite). Cela ne signifie pas simplifier (comme le modèle de façade fait), mais plutôt faire une interface « commune » ou la représentation.

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top