Služebník (návrhový vzor): Porovnání verzí
Smazaný obsah Přidaný obsah
Bez shrnutí editace |
Finální podoba článku - čerpáno ze zdrojů uvedených na konci článku. |
||
Řádek 3:
== Motivace ==
Návrhový vzor ''Služebník'' využijeme v případě, když:
* Několik tříd potřebuje definovat stejnou činnost a nechceme definovat na několika místech stejný kód<br />
* Objekt má úkol, který naprogramovat buď neumíme, nebo bychom jej sice zvládli, ale víme, že je úloha již naprogramovaná jinde<br />
* Připravujeme řešení, které chceme definovat dostatečně obecné, aby je mohli používat všichni, kteří je budou v budoucnu potřebovat, a přitom nevíme, kdo budou ti potřební<br />
== Implementace vzoru ==
Služebník nepracuje sám, ale komunikuje s obsluhovanými instancemi.
Řádek 25:
'''Instance, která chce být obsloužena:'''
* Implementuje příslušné rozhraní, aby se mohla vydávat za jeho instanci.<br /> Implementací tohoto rozhraní deklaruje, že umí to, co od ní služebník k její plnohodnotné obsluze požaduje.<br />
== Terminologie ==
== Možná použití ==▼
'''Klient'''<br />
Řádek 44 ⟶ 42:
'''Obsluhovaný'''<br />
Objekt, který implementuje rozhraní <b><code>IObsluhovaný</code></b>
a je proto schopen být osluhován slušebníkem.<br />
▲== Možná použití ==
Návrhový vzor ''Služebník'' používám ve dvou drobně odlišných situacích.
=== Služebníka zná obsluhovaný objekt ===
Řádek 56:
''Služebníka'.
[[http://soubory.pecinovsky.cz/Sluzebnik_1.png Diagram tříd případu, kdy služebníka volá obsluhovaný objekt]]
=== Služebníka zná klient ===
Řádek 70 ⟶ 68:
a že je následně obsluhován ''Služebníkem''.
[[http://soubory.pecinovsky.cz/Sluzebnik_1.png Diagram tříd případu, kdy služebníka volá klient]]
== Literatura ==
*{{cite book
| first = Rudolf
| last = Pecinovský
| year = 2007
| title = Návrhové vzory – 33 vzorových posupů pro objektové programování.
| publisher = [[Computer Press]]
| isbn = 978-80-251-1582-4
}}
*{{cite book
| first = Rudolf
| last = Pecinovský
| year = 2010
| title = OOP – Naučte se myslet a programovat objektově.
| publisher = [[Computer Press]]
| isbn = 978-80-251-2126-9
}}
*{{cite book
| first = Rudolf
| last = Pecinovský
| year = 2009
| title = Myslíme objektově v jazyku Java – Kompletní učebnice pro začátečníky, 2. aktualizované a rozšířené vydání.
| publisher = [[Grada]]
| isbn = 978-80-247-2653-3
}}
[[Kategorie:Návrhové vzory]]
[[Kategorie:Programování]]
[[en:Design_pattern_Servant]]
|