Podsumowanie wzorców projektowych GoF
Podsumowanie wzorców projektowych GoF
Podsumowanie wzorców projektowych GoF
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Wzorce strukturalneBazuj one na nastpujcej dziedzinie wiedzy i systemie poj:(...diagram)1. DecoratorPrzeznaczenie (cytat z ksiki <strong>GoF</strong>):Dynamicznie dołcza do obiektów dodatkowe zobowizania. Zapewnia elastycznalternatyw dla tworzenia podklas w celu rozszerzenia funkcjonalnoci.Przeznaczenie (cytat z fluffycat):Jedna klasa przejmuje inn klas, z których obie rozszerzaj t sam klas abstrakcyjn orazdodaje funcjonalno.Opis: Przykład moe by nastpujcy. Klient zamawia herbat o jakiej piknie brzmicejnazwie. Parzeniem herbat w restauracji zajmuje si specjalna osoba (ChaiDecorator).Dysponuje ona zarówno list wszystkich moliwych dodatków do herbaty jak i listskładników (wraz z iloci), jakie naley doda do kadego z rodzajów herbaty. Gdyprzygotuje wszystkie stosowne składniki, wtedy zaparza zamówion herbat dla klienta.Problem: JakRozwizanie: PrzezKlasa główna:_DP_S_<strong>GoF</strong>_Decoratorpackage pk.dydakt.to.dp.s.gof.decorator;public class _DP_S_<strong>GoF</strong>_Decorator {}public static void main(String[] args) {Tea teaLeaves = new TeaLeaves();Tea chaiDecorator = new ChaiDecorator(teaLeaves);chaiDecorator.steepTea();}Klasy wzorca:Teapackage pk.dydakt.to.dp.s.gof.decorator;public abstract class Tea {boolean teaIsSteeped;}public abstract void steepTea();TeaLeavespackage pk.dydakt.to.dp.s.gof.decorator;public class TeaLeaves extends Tea {24