Signály jsou jedním z asynchronních způsobů, jak si objekty mohou vyměňovat informace. Aby takový objekt mohl daný signál přijmout, musí mít odpovídající receptor. Co to však znamená odpovídající receptor?
Protože se signálem a receptorem se lidé podrobněji setkávají až při přípravě na druhou úroveň zkoušky znalostí UML, OCUP 2 Intermediate, velmi krátce oba pojmy vysvětlím.
Signál je klasifikátor, který může vlastnit atributy. V těchto atributech mohou být přenášeny data. Uživatelská definice signálu je tedy naprosto nezávislá na prvku, které tento signál používá.
Receptor je podobně jako operace behaviorální prvek, který vykonává definovanou činnost. A toto vykonávání je v případě receptoru spuštěno ve chvíli, kdy přijde odpovídající signál.
A nyní k pravidlům. To první, nazvané same_name_as_signal, říká, že receptor musí mít stejný název jako má signál.
Aby takový receptor kromě signálu mohl pracovat i s jeho daty, je tu druhé pravidlo nazvané same_structure_as_signal, které nutí uživatele, aby parametry receptoru odpovídaly názvem, typem a násobností atributům takového signálu.
Co na to Sparx EA?
Tady musím Sparx EA pochválit. Když definujete receptor, zeptá se vás, jakému signálu má takový receptor odpovídat. Podle toho pak vytvoří odpovídající parametry. Ve chvíli, kdy se v signálu něco změní, je tato změna promítnuta i do receptoru.
Douška
Celý seriál 30 pravidel UML byl revidován, upraven a knižně vydán. Pokud jej chcete mít k dispozici v papírové podobě, navštivte stránky nakladatelství Elebedial.
Můžeme signál použít jako (datový) typ atributu třídy?
Ano, možné to je.
Zdůvodnění: