Considera che la facciata ha al suo interno molti sottocomponenti, ma non passa i messaggi da un sottocomponente all'altro ma ha anche una logica aziendale. È ancora il modello di facciata?
Sono certo che ci sarà un piccolo dibattito qui, ma se ipotizziamo che Facade sia un'interfaccia semplificata in un corpo di codice più ampio, allora può contenere alcune logiche di business.
Ad esempio, supponiamo di avere tre chiamate da effettuare, Method1, Method2 e Method3. Sono ciascuno nelle parti disparate del codebase e non esiste un meccanismo per comunicare tra loro, ma devono agire su un oggetto comune. Come minimo, userei la mia facciata per passare l'oggetto in ogni metodo. Cosa succede se ho bisogno di passarli solo condizionatamente? Poi lo aggiungo alla classe della facciata.
Direi che se si esegue la maggior parte della logica aziendale nella classe di facciata, probabilmente non si utilizza correttamente il modello di progettazione. Al suo centro dovrebbe avvolgere altre cose, non fare tutto il lavoro stesso, ma una logica di business limitata dovrebbe andare bene.
Confronta questo modello di progettazione con lo schema Adattatore, che si traduce più letteralmente da un sistema in quello che ci si aspetta da un altro, con zero business logic non coinvolto nella traduzione.
Leggi altre domande sui tag design-patterns facade