Domanda

Qual è la differenza tra un 'astrazione' e di una 'facciata'?

C'è una differenza a tutti? O sono i termini intercambiabili?

È stato utile?

Soluzione

Il modello facciata è un'interfaccia semplificata per una più grande, base di codice possibilmente più complesso. La base di codice può essere una sola classe, o più. La facciata appena ti dà una semplice interfaccia ad esso.

Astrazione , viene usato per rappresentare un concetto, ma di non essere legato a ogni caso specifico. (Ie: Una classe astratta). Ciò non implica la semplificazione (come il modello facciata fa), ma piuttosto fare un'interfaccia 'comune' o di rappresentanza.

Altri suggerimenti

Facciata è un modello di progettazione specifica, lo scopo di nascondere la roba interna all'interno di un pacchetto di / modulo dai suoi clienti dietro un'interfaccia ben definita. Si nasconda diverse interfacce / classi dietro un singolo comune, da cui il nome.

'astrazione' è un termine generale, nel senso di nascondere i dettagli concreti di qualcosa dal mondo esterno.

Quindi, questi due non sono termini intercambiabili.

facciata è un design pattern GoF, molto specifico. In essenza, si tratta di nascondere le funzionalità over-complesso dal corpo principale della vostra applicazione.

L'astrazione è un più vago termine relativa a nascondere la funzionalità di un servizio da suo cliente.

astratta per me significa prendere le parti comuni di un insieme di cose e la creazione di una cosa di base da loro, che la collezione può quindi attingere, come una sorta di classe genitore.

Una facciata è una faccia (letteralmente parlando), in modo che l'analogia di una classe base non abbastanza stretta. Una facciata è più di un'interfaccia, in modo che non avrebbe dovuto essere collegato con le cose che lo utilizzano. Ci penso più come una maschera. La mia classe avrà una maschera "usa e getta", per esempio.

Quindi la differenza, nella mia mente, è che un modello astratto consente una gerarchia da costruire, dove come un modello di facciata permette classi sono simili.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top