/Images/MainImage/Elevate.jpg finns inte.

Inlägg January 2010

2010-01-19 06:57

C# 3.0 och 4.0, SOLID och den funktionella revolutionen med Magnus Lidbom

Ikväll hade drog Elevate igång för säsongen för .NET området. Det var Avegas egna Magnus Lidbom som höll i seminariet. Och ämnet var C# 3.0, 4.0, SOLID och den funktionella revolutionen.

Sammanfattningsvis kan man säga att Magnus visade hur funktionell programmering numera är implementerat i C#, och varför det är intressant för hur vi skriver vår kod.

C#3.0

Först pratade Magnus Lidbom kring vad funktionell programmering är och att det faktiskt numera (sedan C#3.0) är implementerat i C#, genom LINQ.

Därefter visade Magnus på hur vi med hjälp av funktionell programmering kan uppfylla SOLID-principerna. Det är ju lätt att förstå för objekt orientering programmering, där vi ju vet hur man följer SOLID för klasser och objekt.

Men hur gör man med funktioner. De kan bli SOLID med hjälp av funktionell programmering eller stödet som vi har i C#. Magnus menar att för att bli riktigt SOLID så behöver man ta med både OOP och funktionell programmering i beräkningen.

Med ett antal kodexempel visade Magnus på hur man kan använda de nya features som C# 3 och framåt har för att lösa detta.

Magnus visade bl.a. på:  

Efter maten gick Magnus vidare och visade på hur alla dessa möjligheter kan kombineras ihop till användbara patterns som ger dig bättre kod som följer SOLID-principerna.

Jag lärde mig en ny term “Coding by wishful thinking”, vilket påminner mycket om Coding by Intention som man talar om i TDD. Rätt kul term som går ut på att man skriver koden som om alla metoder som man kommer att behöva skriva redan fanns, trots att du måste skriva dem sen.

“Vad kul det vore om någon hade skrivit HämtaAllaFilerRekursivt()… Oj – det är ju jag som ska göra det” – ja ni förstår.

C#4.0

Fram till dess hade vi bara talat om C#3. Magnus gick nu vidare och berättade om andra nyheter som kommit i C#4.

Magnus pratade om:

Slutligen visade Magnus hur man kunde använda dessa nya språkfeatures för att komma ytterligare vidare i SOLID-tankarna.

Kvällen var mycket lärorik och väldigt ödmjukande för undertecknad… C# lever verkligen och blir inte mindre direkt. Mycket nyttigt dock för att verkligen komma långt i hur väldesignad din kod är.

Magnus har lovat att göra kodexempel tillgängligt. Du kan nå den här.

Tack så mycket Magnus. Bra gjort och väldigt imponerande kunskaper och presenterat på en mycket avancerad nivå. Jag är officiellt impad!


Postad av Elevate

Kommentarer (0)   Kategorier:  .NET

  RSS Feed

Elevate

Elevate är Avega Groups forum för gruppbaserad utbildning och medarbetarutveckling. Målet är att genomföra aktiviteter för Avega Groups medarbetare i syfte att väcka intresse och informera om ny teknik, utveckla konsultrollen och verka för att Avega Groups samlade kompetens utvecklas i en gynsam riktning. Här på bloggen sammanfattar vi de seminarium som genomförts inom ramen för Elevate.


Kontakt

Kategorier