Agenti akcí systému, autonomní jednotky provádějící různé akce

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
mcmatak
Člen | 504
+
0
-

O co mi jde:

Máte nějaký hodně složitý systém, akce navazuje na reakci a reakce na zadání atd. prostě jedna změna v systému může způsobit změnu mnoha prvků/tabulek a dat, entit.

Např. jedna operace je strašně složitá, získání nové ceny, trvá to celý den než třeba nějaký robot tu cenu najde někde, až ji najde musí informovat 1–5 lidí emailem o této změně, na základě jejich rozhodnutí provede další a další akce.

Jde o to, aby jednotlivé akce nebyly v systému duplikovány, např. proces probíhá celý den a v jeho závislosti dochází např. k 10 změnám nějaké entity/např. zakázky, pokaždé chceme odeslat email, ale je hloupé přece na 10ti místech v systému vytvářet šablonu emailu, vytvářet messengera atd.

jak tohle řešíte nějaký návrhový vzor? narvete to do basepresenteru? vytvoříte ke všemu komponenty? zoodpovědné za nějakou akci?

je někomu jasný probléM?

uvedu ještě příklad:

v systému je zadání, zakázka, schvalovací protokol

  1. dojde ke změne ceny
  2. dojde ke komunikaci o termínu apod.
  3. dojde k potvrzení něčeho

ve všech třech případech

chceme odeslat emaily všem zůčastněným a to

se změněnou zakázkou, zadáním a schvalovacím protokolem jaké akce je potřeba provést

1. změnit každou entitu
2 odeslat email o každé entitě všem zůčastněným a tohle se děje asi na 20 místech v aplikaci

kam tyhle akce združit? do modelu třeba zakázky? není to nesmysl?

Editoval mcmatak (18. 11. 2011 12:49)

Patrik Votoček
Člen | 2221
+
0
-

Vytvořit messengera který se o to bude starat a bude zaregistrován jako služba.

mcmatak
Člen | 504
+
0
-

jj taky si to myslím, a začal jsem to tak dělat, díky

mcmatak
Člen | 504
+
0
-

akorát teda vytvořit si šablonu v takovém service je trochu problém, resp. nemůžu si šáhnout na createTemplate presenteru, takže musím celou tuhle fci okopírovat