Facade mønster

Facaden mønster er et design pattern almindeligt anvendt med objektorienteret programmering. Navnet er tilsvarende for en arkitektonisk facade.

En facade er et objekt, der giver en forenklet grænseflade til en større helhed af kode, såsom en klasse bibliotek. En facade kan:

  • gøre en software bibliotek lettere at bruge, forstå og test, idet facaden har praktiske metoder til almindelige opgaver;
  • gøre biblioteket mere læsbar, af samme årsag;
  • reducere afhængigheder af udenfor kode på de indre funktioner i et bibliotek, da de fleste kode bruger facaden, således at mere fleksibilitet i udviklingen af ​​systemet;
  • wrap en dårligt designet samling af API'er med en enkelt veldesignet API.

Facadeudformningen mønster anvendes ofte, når et system er meget kompliceret eller vanskeligt at forstå, fordi systemet har et stort antal indbyrdes afhængige klasser eller dets kildekode er tilgængelig. Dette mønster skjuler kompleksiteten i større system og giver en enklere grænseflade til klienten. Det involverer typisk en enkelt wrapper klasse, som indeholder et sæt af medlemmer kræves af klienten. Disse medlemmer adgang til systemet på vegne af facaden klient og skjule detaljerne gennemførelsen.

Anvendelse

En Facade bruges, når en lettere eller enklere grænseflade til en underliggende objekt er ønsket. Alternativt kan en adapter anvendes, når indpakningen skal respektere et bestemt interface og skal understøtte polymorfe adfærd. En dekoratør gør det muligt at tilføje eller ændre adfærd en grænseflade på run-time.

Facaden mønster bruges typisk, når:

  • en enkel grænseflade er påkrævet for at få adgang til et komplekst system;
  • de abstraktioner og implementeringer af et delsystem er tæt koblet;
  • har brug for en indgang til hvert niveau af lagdelt software; eller
  • et system er meget komplekse eller vanskelige at forstå.

Struktur

Eksempel

Dette er en abstrakt eksempel på, hvordan en klient interagerer med en facade til et komplekst system.

C #

Implementering

Sample Code

Java

  0   0

Kommentarer - 0

Ingen kommentar

Tilføj en kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Tegn tilbage: 3000
captcha