facade pattern?
Jeg sidder og programmerer en winformsklient der kører op imod en webservice (ws).Denne klient kalder løbende flere forskellige metoder i min ws. Jeg har en main klasse der holder allereferencer til de forskellige forms og til den webclient der er en instans af webservicen.
Det der er mit problem lige nu er design/arkitekturmæssigt. Når mine forskellige forms kalder webservicen, foregår det ved at den kalder gennem den reference som mainklassen har. Det besværliggører dog exceptionhandling. Ved hvert kald i hver form kan forbindelsen til webservicen (som mainklassen holder) være røget. desuden kan der forekomme alle mulige andre exceptions. Hvis forbindelsen er røget skal mit program fungere alligevel, så det er vigtigt at jeg fanger den exception der bliver kastet.
Jeg overvejer om jeg skal lave et slags facadepattern hvor jeg kunne lave en klasse for sig til at håndtere forbindelsen til databasen. denne klasse kunne så også fange alle exceptions, hvorfor forms ikke skulle gøre dette. Men så vidt jeg kan se kræver det at facadeklassen skulle have en metode for hver metode på min webservice hvori den kunne fange execptions. det er jo ikke særligt dynamisk hvis man ændrer i meotdehoveder eller tilføjermetoder på webservicen. Ydermere gør det at facadeklassen får kontrollen hvis den skal fange en exception og derefter skal starte en anden del af programmet (der kører når der ikke er forbindelse til ws).
alternativt kan jeg beholde alt som det er nu og så bare lave en kæmpe bunke redundant exceptionhandling ved hvert enkelt webservice kald i forms'ene.
Jeg kiggede også på "reflektion" i .net, men det ser ikke brugbart ud i dette tilfælde.
Er der nogen der har et bedre forslag til løsning af dette? eller hvilket alternativ er det bedste?
//finger
