WPF Compact Application Guidance – første indtryk

Skrevet - Saturday, January 17th, 2009 kl. 16:07 | Kategori - * Kodning

Vi har tidligere kigget på WPF Compact Application Guidance (Prism), men valgte dengang ikke at indføre det pga. kompleksiteten i det. Siden er vi blevet introduceret for en stor mængde patterns – og derfor har vi nu igen taget et nærmere kig på Prism.

For at sige det kort, så lavede vi en opstilling over, hvad vi ville få ud af det, hvad vi ville miste samt fordele/ulemper og arbejdsbyrde. Vores applikation omfatter for nuværende funktionalitet for et hovedmodul og et eller to datter-moduler. Vi fandt kun en ulempe… kompleksiteten og en lang række fordele i forhold til at overholde SOLID principperne. Vi har estimeret arbejdsopgaven til at tage en god uges tid for 3 mand. Så det gør vi.

Det er sjældent at man finder et framework, hvor man er umiddelbart tilfreds med stort set alle komponenter – men det er virkelig lykkedes Microsofts Pattern & Practice afdeling at levere kvalitet – og det sjove er at Glenn Block i et interview kom med svaret på, hvorfor det er så stærkt. De har brugt et design-princip som de kalder SFD – “Simple-First Developement”. Det vil sige at de hver gang de skulle løse et givent problem – har de valgt den aller simpleste løsningsmodel, der kan klare opgaven. At jeg så ikke mener man havde behøvet finde sin egen forkortelse er så en anden sag… når nu man har YAGNI, KISS osv.

Det sjove er at eftersom vi bruger de fleste af de patterns i forvejen som Prism er bygget med – er den mængde arbejde vi har foran os stort set ikke relateret til eksisterende kode – men derimod at udnytte de nye muligheder. Det giver mig en god fornemmelse i maven for kvaliteten af vores eksisterende kodebase. Man kan sige at en uges arbejde kunne have tilføjet meget funktionalitet – men vi er sikre på at det kan give os langt mere vedligeholdelsesmæssigt senere hen.

Desuden har de lavet Prism, så det er nemt at extende og erstatte deres valg – således kan vi meget nemt skifte fra Unity IoC’en til Windsor og fra TraceLog til Log4Net. Nogle gange er det altså en fornøjelse at være udvikler.

Feed | Trackback |

Post a Comment