.Net 3.5 – så meget at lære, så lidt tid
Der har været lidt stille herinde – det er der en forholdsvis god grund til. Vi har opdateret vores projekt til version 3.5 af frameworket – skiftet til v. 2008 af Visual Studio… og det har givet os en del at læse på.
Mange ville spørge os, hvorfor hulen vi har valgt at skifte så sent i projektet (og med rette). Der er en myriade af grunde til det. Fra starten havde vi egentlig tænkt os at lave en ‘silent’ opgradering. Det vil sige, opgradere projektet – men arbejde videre med projektet som det var og så lave en glidende overgang efterhånden som vi opkvalificerede os.
Så kom CSLA på bordet… for dem der ikke kender det, så er det et framework som er målrettet til folk som os, der skal have lavet en forretningsapplikation, som er ekstremt fleksibel (dvs. mange forskellige indgangsvinkler; remoting, web client, app client, webservice osv.) uden at skulle spilde tid med at lave alt for meget ‘plumbing’ kode. Jeg havde på et tidspunkt fundet Expert C# Business Objects og havde egentlig afskrevet den igen efter en hurtig gennemlæsning. Ved et tilfælde stødte jeg på forfatteren igen, og fik fornyet interesse for frameworket – og da jeg læste at frameworket var kommet i en version 3.5… tjah, så var der ikke rigtig nogen vej udenom. Men lad os tage de ting, vi allerede har implementeret – LINQ og WPF.
Jeg startede med at lave hele business/data-access laget om. Omskrev alle funktioner til at anvende CSLA og LINQ. De er begge dyre resourcemæssigt – der er en del reflection inde over (okay, en rystende stor del…) og vi er stadig lidt spændte på, hvordan det holder, når vi skal til at performance-tune det. Til gengæld fik jeg så en række ting forærende… alle rare data-binding interfaces implementeret i alle klasser uden at have skrevet en linje kode til det, syntax-checking af alle SQL-kald (tak, LINQ). Oh ja… og support for webservice, remoting, 3-5 tier spredning af applikationen for at nævne nogle af de kedelige ting…
Da det var gjort, skulle jeg til at lave front-enden om, så den kunne implementere alle de rare ting, som der nu var på bordet… og så fik jeg åbnet en bog om WPF… resten, er som andre ville sige, historie. Vores klient kan nu køre som rich web client (XBAP) og rich application client… der ligger fire linjer kode i .exe filen og 5 i .xbap filen (okay, ikke teknisk korrekt – men jeg har ikke skrevet mere end 4 linjer) – resten ligger i et fælles dll-lag.
Jeg skal gerne ridse op senere den lidt længere historie om, hvorfor vi tog beslutningen. Det har på bundlinjen sat os ca. 3 måneder tilbage, men har givet os en applikations struktur, som vil vinde os på den lange bane (og meget!). Min chef er ikke så glad, som han plejer, men det kommer…