Treci la conținutul principal

Ce este

Șablonul Fațadă (Facade) pune o singură ușă simplă în fața unui subsistem complicat. În spatele ușii, mai multe părți colaborează în ordinea corectă; în fața ei, apelantul face un singur apel.

Subsistemul rămâne complet disponibil pentru cei care au nevoie de detalii — fațada este o comoditate, nu un zid.


Exemplu: un singur apel începe ziua

Încălzitor, lumini, aparat de cafea — trei părți, fiecare cu propriul API și propria ordine corectă. start_day() ascunde această coregrafie în spatele unui singur apel.

O singură ușă simplă

Apelantul scrie o singură linie; fațada știe ordinea (mai întâi căldura, cafeaua la final). Dacă rutina se schimbă, se schimbă doar fațada.

Prompt
Scrie un program Python cu șablonul Fațadă: clasele Heater, Lights și CoffeeMachine, fiecare afișând acțiunea sa, și o fațadă House a cărei metodă start_day le rulează în ordinea corectă. Începe ziua cu un singur apel.
Ieșire: program Python complet

Când să îl folosești

Folosește-l când apelanții repetă mereu același dans în mai mulți pași cu un subsistem sau când vrei să expui o suprafață mică și stabilă peste una dezordonată sau în schimbare.

Renunță la el când „subsistemul” este o singură clasă cu trei metode. O fațadă peste ceva deja simplu doar adaugă distanță.


Avantaje și dezavantaje

Avantaje: apelanții primesc un singur apel simplu; ordinea corectă se află într-un singur loc; subsistemul se poate schimba în spatele unei fețe stabile.

Dezavantaje: fațadele tind să crească până devin clase care fac totul; o fațadă care ascunde prea mult îi împinge pe oameni să o ocolească.