Dobry den,
Hned na zaciatok by som povedal, ze by som to riesil nejakym animovanym
gifom v GUI.
Ak je vsak silna potreba mat presny progress bar, tak prvy prblem by som
riesil tak ze namiesto argumentu Department by som prenasal
DepartmentInfo strukturu, ktora by obsahovala ako Department tak
ProgressListener. V nizisch vrstvach by sa volal listener ak by nebol
null. Tym sa uplne nevyriesi vas problem ale aspon v signature metody
neuvidite ProgressListener, mozno by nejako mohlo pomoct AOP.
Co sa tyka druheho problemu tak to co hladate su asynchronne web
service. Pekny clanok je:
http://dev2dev.bea.com/pub/a/2005/03/callback_clients.html
Martin Krajci
Tomas Hubalek wrote:
Zdar,
Mam takovy spise filozoficky problem. Chtel bych aplikaci striktne
oddelit do vrstev, tj. business logika by nic nevedela o GUI a opacne
GUI by melo business logiku referencovanou jen jako implementace
interfacu ktere by ziskalo pres Spring Context (s tim, ze se pozdeji
rozhodnu jestli to bude EJB Session bean nebo se primo pujde do databaze).
Problem pri tomto jinak jiste hezkem oddeleni je, kdyz nektere metody
business logiky dlouho trvaji a chtel bych uzivatele informovat o tom,
kolik procent bylo hotovo. Pak asi musim metodu napsat misto
List <Employee> getEmployeesByDepartment(Department dpt);
necim jako
List <Employee> getEmployeesByDepartment(Department dpt,
ProgressListener pl);
Jeste dalsi problem nastane, pokud by implementace toho interface byla
proxy k web service (a mozna ze u EJB by to mohlo byt take). Pokud
vim, u web services je to volani jako u webu a proste to zavolam a
dostanu odpoved. Tam bych asi zadnou informaci o progressu nedostal,
ne? Jak to resite v tomto pripade? Jen nejakou animaci ala web browser?
Pokud na to existuje nejaky fikany design pattern, urcite budu rad,
kdyz me nasmerujete.
Dik
Tom
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________