Služebník (návrhový vzor): Porovnání verzí

Smazaný obsah Přidaný obsah
Řádek 39:
 
=== Služebníka zná obsluhovaný objekt ===
[[Soubor:DesignPatternServantFigure1.png|thumb|[[Diagram tříd]], kde služebníka (Servant) zná obsluhovaný objekt (User)]]
 
V prvním případě ''Klient'' (Client) posílá ''Obsluhovanému'' objektu zprávu se svým požadavkem. ''Obsluhovaný'' neumí nebo nechce na zprávu reagovat sám, a proto si 'pozve' ''Služebníka'', který mu pomůže požadovanou funkci realizovat, a předá se jeho metodě jako parametr. ''Klient přitom vůbec nemusí vědět, že ''Obsluhovaný použil služeb ''Služebníka.''
Řádek 174 ⟶ 175:
 
=== Služebníka zná klientský objekt ===
[[Soubor:DesignPatternServantFigure2.png|thumb|[[Diagram tříd]], kde služebníka (Servant) obsluhovaný objekt (User) nezná]]
 
V druhém případě ''Klient'' (Client) ví, že ''Obsluhovaný'' objekt implementuje rozhraní ''Obsluhovaný'' (Movable) a že klientem požadovanou službu umí splnit ''Služebník'' (MoveServant). Zavolá proto ''Služebníka'' sám a předá mu ''Obsluhovaný'' objekt (Triangle nebo Rectangle) jako parametr. ''Obsluhovaný'' v tomto případě vůbec nemusí vědět, že je předáván jako parametr některé z metod ''Služebníka'' a že je následně obsluhován ''Služebníkem''.