Nel classico modello di facciata, un singolo oggetto di solito fornisce un'interfaccia semplificata a qualcosa di più complesso.Pattern facciata vs SRP
Come la gang dei quattro metterlo (il più vicino al "ufficiale", come si arriva ...):
Facciata (185) fornisce un'interfaccia unificata per un insieme di interfacce in un sottosistema . Facade definisce un'interfaccia di livello superiore che semplifica l'utilizzo del sottosistema.
e
... una facciata semplice astrae l'interfaccia del sottosistema oggetti per renderli più facili da usare; non definisce alcuna nuova funzionalità e le classi del sottosistema non ne sono a conoscenza.
O, come Unmesh mette in https://stackoverflow.com/a/5242476:
una facciata protegge l'utente dai complessi dettagli del sistema e fornisce loro una vista semplificata di esso che è facile da usare. Scollega anche il codice che utilizza il sistema dai dettagli dei sottosistemi, rendendo più semplice la modifica del sistema in un secondo momento.
La Responsabilità unico principio ci ricorda che l'uso
una classe o modulo devono avere una, e una sola, motivo per cambiare.
Per Uncle Bob (http://en.m.wikipedia.org/wiki/Single_responsibility_principle)
Dato che una facciata, dal design, protegge l'utente da una moltitudine di "ragioni per cambiare", come possono queste due idee lavorare insieme? Non una facciata ha tanti motivi per cambiare il numero di sottosistemi da cui dipende la sua implementazione?
Quale sarebbe la moltitudine di ragioni essere per cambiare una facciata? – PeeHaa
chiarirà nel post – goofballLogic