12.07.2015 Views

Podsumowanie wzorców projektowych GoF

Podsumowanie wzorców projektowych GoF

Podsumowanie wzorców projektowych GoF

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

9. Chain of ResponsiblityPrzeznaczenie (cytat z ksiki <strong>GoF</strong>):Umoliwia uniknicie zwizania wysyłajcego danie z odbiorc dania przez danie wicejni jednemu obiektowi szansy obsłuenia tego dania. Tworzy łacuch odbierajcychobiektów i przekazuje wzdłu niego danie, a jaki obiekt je obsłuy.Przeznaczenie (cytat z fluffycat):Metoda wołana w jednej klasie moe przej w gór hierarchii aby znale obiket, który moepoprawnie wykona t metod.Opis: Przykład pokazuje mechanizm budowania tytułu z uwzglednieniem kategorii filmu. Napocztku budowany jest łacuch obiektów odpowiedzialnych za poniejsze prawidłowezbudowanie tytułu.Problem: JakRozwizanie: PrzezKlasa główna:_DP_B_<strong>GoF</strong>_ChainOfResponsibilitypackage pk.dydakt.to.dp.b.gof.chainofresponsibility;public class _DP_B_<strong>GoF</strong>_ChainOfResponsibility {public static void main(String[] args) {String topTitle;DvdCategory comedy = new DvdCategory("Comedy");comedy.setTopCategoryTitle("Ghost World");DvdSubCategory comedyChildrens =new DvdSubCategory(comedy, "Childrens");DvdSubSubCategory comedyChildrensAquatic =new DvdSubSubCategory(comedyChildrens, "Aquatic");comedyChildrensAquatic.setTopSubSubCategoryTitle("Sponge Bob Squarepants");System.out.println("");System.out.println("Getting top comedy title:");topTitle = comedy.getTopTitle();System.out.println("The top title for " +comedy.getAllCategories() +" is " + topTitle);System.out.println("");System.out.println("Getting top comedy/childrens title:");topTitle = comedyChildrens.getTopTitle();System.out.println("The top title for " +comedyChildrens.getAllCategories() +" is " + topTitle);System.out.println("");System.out.println("Getting top comedy/childrens/aquatic title:");topTitle = comedyChildrensAquatic.getTopTitle();System.out.println("The top title for " +comedyChildrensAquatic.getAllCategories() +78

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

Saved successfully!

Ooh no, something went wrong!