12.07.2015 Views

Podsumowanie wzorców projektowych GoF

Podsumowanie wzorców projektowych GoF

Podsumowanie wzorców projektowych GoF

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!