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.

10. InterpreterPrzeznaczenie (cytat z ksiki <strong>GoF</strong>):Definiuje reprezentacj dla gramatyki zadanego jzyka, a take interpreter, którywykorzystuje t reprezentacj do interpretowania zda w zadanym jzyku.Przeznaczenie (cytat z fluffycat):Definiuje jezyk i jego syntaktyk, dokonujc analizy syntaktycznej wejcia na obiektachmogcych realizowa wymagane operacje.Opis: Przykład ilustruje sposób budowania zapyta. Zapytania te s najpierw budowane wodpowiednim jzyku, a nastpnie s interpretowane. W czasie interpretowania ich tworzonajest odpowied na te zapytania.Problem: JakRozwizanie: PrzezKlasa główna:_DP_B_<strong>GoF</strong>_Interpreterpackage pk.dydakt.to.dp.b.gof.interpreter;public class _DP_B_<strong>GoF</strong>_Interpreter {public static void main(String[] args) {DvdInterpreterContext dvdInterpreterContext =new DvdInterpreterContext();dvdInterpreterContext.addTitle("Caddy Shack");dvdInterpreterContext.addTitle("Training Day");dvdInterpreterContext.addTitle("Hamlet");dvdInterpreterContext.addActor("Ethan Hawke");dvdInterpreterContext.addActor("Denzel Washington");dvdInterpreterContext.addTitleAndActor(new TitleAndActor("Hamlet", "Ethan Hawke"));dvdInterpreterContext.addTitleAndActor(new TitleAndActor("Training Day", "Ethan Hawke"));dvdInterpreterContext.addTitleAndActor(new TitleAndActor("Caddy Shack", "Ethan Hawke"));dvdInterpreterContext.addTitleAndActor(new TitleAndActor("Training Day", "Denzel Washington"));DvdInterpreterClient dvdInterpreterClient =new DvdInterpreterClient(dvdInterpreterContext);System.out.println("interpreting show actor: " +dvdInterpreterClient.interpret("show actor"));System.out.println("interpreting show actor for title : " +dvdInterpreterClient.interpret("show actor for title "));System.out.println("interpreting show title: " +dvdInterpreterClient.interpret("show title"));82

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

Saved successfully!

Ooh no, something went wrong!