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/