jeśli klient nie korzysta bezpośrednio z żadnych elementów ukrytego

Transkrypt

jeśli klient nie korzysta bezpośrednio z żadnych elementów ukrytego

Może to
wyglądać na przykład tak – naliczanie rabatu do
zakupów klienta:
$objKlient = new Klient($intIdKlienta);
$objKoszyk = new Koszyk($objKlient);
$objRabat = new Rabat();
$fltRabat = $objRabat->liczRabat($objKoszyk>getSumaKoszyka()+ $objKlient>getRabatIndywidualny());
Klient klient = new Klient(idKlienta);
Koszyk koszyk = new Koszyk(klient);
Rabat rabat = new Rabat();
Float Rabat = rabat.liczRabat(koszyk.getSumaKoszyka() +
1.
2.
3.
Wyodrębnij rodziny działań które w
systemie
często są wykonywane,
Działania z tej samej rodziny skomponuj
w metody nowej klasy,
W metodach klasy fasady użyj do
wykonania
zaplanowanych działań innych
obiektów
systemu.
Zmniejszenie liczby zależności między
klientem, a złożonym systemem — jeśli
klient nie korzysta bezpośrednio z żadnych
elementów ukrytego za fasadą systemu,
całość jest łatwiejsza w konserwacji i
utrzymaniu.
 Wprowadzenie podziału aplikacji na
warstwy, który ułatwia niezależny rozwój
elementów klienta i złożonego systemu.
 Możliwość zablokowania klientowi drogi do
bezpośredniego korzystania ze złożonego
systemu, jeśli jest to konieczne.






http://zawarstwaabstrakcji.pl/wzorceprojektowe/fasada/
https://pl.wikipedia.org/wiki/Fasada_(wzorz
ec_projektowy)
http://magazynt3.pl/wzorce-projektowefasada/
http://cpp0x.pl/kursy/Wzorceprojektowe/Wzorcestrukturalne/fasada/155
http://lukasz-socha.pl/php/wzorceprojektowe-cz-10-facade/