Difference between revisions of "Pomůcky OO"
m (→Vybrané návrhové vzory) |
m (→Vybrané návrhové vzory) |
||
Line 31: | Line 31: | ||
* adresář (Composite) | * adresář (Composite) | ||
Promyslete, co znamenají vztahy tohoto návrhového vzoru v konkrétním uplatnění pro File System. | Promyslete, co znamenají vztahy tohoto návrhového vzoru v konkrétním uplatnění pro File System. | ||
− | |||
[http://en.wikipedia.org/wiki/Observer_pattern Pozorovatel] | [http://en.wikipedia.org/wiki/Observer_pattern Pozorovatel] |
Revision as of 11:28, 4 February 2015
Projekt ECP
Materiály poskytnuté J. Arlowem pro postup při zpracování příkladu elektronického obchodu: Workbook
CRC karty
Metoda brainstormingu s kartičkami CRC. Na každé kartičce bude uvedeno:
- jméno třídy
- zodpovědnost třídy
- s kým třída spolupracuje
Otázky pomáhající při hledání tříd a jejich zodpovědností. U zodpovědnosti třídy rozlišujte dvojí:
znalost zná soukromá data? ví o souvisejících objektech? zná, jak odvodit, vypočítat hodnoty atributů?
operace co objekt dělá sám o/v sobě? přenáší akci na jiný objekt? koordinuje jiné objekty?
Vybrané návrhové vzory
Souborový systém si můžeme představit jako strukturu, skládající se ze dvou typů prvků (Component):
- soubor (Leaf)
- adresář (Composite)
Promyslete, co znamenají vztahy tohoto návrhového vzoru v konkrétním uplatnění pro File System.
Chcete se dozvědět, že již mají v e-shopu nový díl Vaší oblíbené série? Pak byste se mohli zaregistrovat a nechat si poslat upozorňující e-mail. Obchod (Subject) požádáte o registraci (registerObserver(mujEmail)). Obchod po naskladnění nového dílu zašle všem zaregistrovaným hlášku (notifyObservers) o možném nákupu.
Případně můžete nad jednou kolekcí dat (Subject) publikovat dva typy výstupů - tabulku (ConcreteObserverA) a graf (ConcreteObserverB). V okamžiku, kdy se data změní, překreslí se tabulkový i grafický výstup.