Assentant les bases{...o com hem arribat fins aquí.}<br />Lluís Franco<br />Speaker AndorraDotNet<br />Microsoft<br />
Agenda<br />Introducció: AndorraDotNet<br />Assentant les bases:<br />La evolució del Framework (FWK 1.1 to 3.5)<br />Conc...
AndorraDotNet<br />
AndorraDotNet<br />
AndorraDotNet<br />I ara…<br />		…Començal’acció!!!<br />
Assentant les bases<br />Evolució de la plataforma .NET<br />
Assentant les bases<br />Evolució del Framework<br />
{Codi… Codi…			… i méscodi}<br />Demo<br />
Novetats en els llenguatges<br />Noves característiques en C# i VB<br />
Novetats en els llenguatges<br />Novetats en elsllenguatges:<br />Inferencia de tipos locales (VB / C#)<br />Inicializador...
Inferencia de tipos locales (VB / C#)<br />Dim City = “Springfield”<br />Dim Size = 36<br />Dim PI = 3.1415927<br />Dim da...
Inicializadores de objetos (VB / C#)<br />No és necessari un constructor per la clase (si no es serialitzable)<br />Public...
Inicializadores de colección (C#)<br />privateclassCat<br />{<br />publicintAge { get; set; }<br />publicstringName { get;...
Tipos anónimos (VB / C#)<br />Permeten crear objectes sense escriure cap definició de clase per el tipus de dades. El comp...
Palabras clave de consultas (VB / C#)<br />LINQ al poder!<br />Dim dc As New ContactsDataContext() <br />Dim contacts = _<...
Upcoming SlideShare
Loading in …5
×

Andorra Dot Net Event4 Assentant Bases

420 views

Published on

Presentación acerca de la evolución de la OO. Ejemplos de Generics.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
420
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Andorra Dot Net Event4 Assentant Bases

  1. 1. Assentant les bases{...o com hem arribat fins aquí.}<br />Lluís Franco<br />Speaker AndorraDotNet<br />Microsoft<br />
  2. 2. Agenda<br />Introducció: AndorraDotNet<br />Assentant les bases:<br />La evolució del Framework (FWK 1.1 to 3.5)<br />Conceptes OOP (herència, interfases, col·leccions, etc.)<br />Exemples evolució llenguatge (FWK 1.1 to 3.5)<br />Exemples LINQ to SQL<br />Exemples LINQ to EF... si arribem, si no un altre dia .<br />Dani: Pots fer 5 cèntims del DevCamp? <br />Propers events (aporteu idees)<br />Sorteig de goodies (i llicències!)<br />Sopar (qui s’apunti :-P)<br />
  3. 3. AndorraDotNet<br />
  4. 4. AndorraDotNet<br />
  5. 5. AndorraDotNet<br />I ara…<br /> …Començal’acció!!!<br />
  6. 6. Assentant les bases<br />Evolució de la plataforma .NET<br />
  7. 7. Assentant les bases<br />Evolució del Framework<br />
  8. 8. {Codi… Codi… … i méscodi}<br />Demo<br />
  9. 9. Novetats en els llenguatges<br />Noves característiques en C# i VB<br />
  10. 10. Novetats en els llenguatges<br />Novetats en elsllenguatges:<br />Inferencia de tipos locales (VB / C#)<br />Inicializadores de objetos (VB / C#)<br />Inicializadores de colección (C#)<br />Tipos anónimos (VB / C#)<br />Palabras clave de consultas (VB / C#)<br />Métodos de extensión (VB / C#)<br />Expresiones lambda (C#)<br />Tipos nullables (per fi en VB!)<br />Operador ternario (per fi en VB!)<br />
  11. 11. Inferencia de tipos locales (VB / C#)<br />Dim City = “Springfield”<br />Dim Size = 36<br />Dim PI = 3.1415927<br />Dim date = DateTime.Today<br />Dim someNumbers() = <br /> New Integer() {4, 18, 11, 9, 8, 0, 5}<br />DimpList = Process.GetProcesses() <br />var i = 5;<br />varisnumeric = false;<br />var s = &quot;Hello&quot;;<br />var a = new[] { 0, 1, 2 };<br />varlist = new List&lt;int&gt;();<br />var person = new { Name = &quot;Terry&quot;, Age = 34 };<br />
  12. 12. Inicializadores de objetos (VB / C#)<br />No és necessari un constructor per la clase (si no es serialitzable)<br />Public Class<br /> Public Name As String<br /> Public City As String<br />End Class<br />Dim cust As New Customer()<br />cust2.Name = &quot;Toni Poe&quot;<br />cust2.City = &quot;Louisville“<br />Ara equival a:<br />Dim namedCust = New Customer With {.Name = &quot;Terry Adams&quot;}<br />Tot i això, és recomamable (legibilitat del codi)<br />
  13. 13. Inicializadores de colección (C#)<br />privateclassCat<br />{<br />publicintAge { get; set; }<br />publicstringName { get; set; }<br />}<br />staticvoidcreateCat()<br />{<br />Catcat = new Cat { Age = 10, Name = &quot;Sylvester&quot; };<br />}<br />List&lt;Cat&gt; cats = new List&lt;Cat&gt; <br />{<br /> new Cat(){ Name=&quot;Sylvester&quot;, Age=8 }, <br /> new Cat(){ Name=&quot;Whiskers&quot;, Age=2}, <br /> new Cat() { Name=&quot;Sasha&quot;, Age=14} <br />}; <br />
  14. 14. Tipos anónimos (VB / C#)<br />Permeten crear objectes sense escriure cap definició de clase per el tipus de dades. El compilador genera automáticament una clase,<br />Dim product = New With {.Name = &quot;paperclips&quot;, .Price = 1.29}<br />Dim prod3 = New With {Key .Name = &quot;paperclips&quot;, Key .Price = 1.29}<br />Dim prod4 = New With {Key .Name = &quot;paperclips&quot;, Key .Price = 1.29}<br />Console.WriteLine(prod3.Equals(prod4)) //returns true if Keys<br />var v = new { Amount = 108, Message = &quot;Hello&quot; };<br />varproductQuery = <br />fromprod in products<br />select new { prod.Color, prod.Price };<br />
  15. 15. Palabras clave de consultas (VB / C#)<br />LINQ al poder!<br />Dim dc As New ContactsDataContext() <br />Dim contacts = _<br /> From c Indc.Contacts _<br /> Wherec.FirstName.Contains(&quot;a&quot;) _<br />Order By c.ContactID _<br />Select c<br />string[] words = { &quot;aPPLE&quot;, &quot;BlUeBeRrY&quot;, &quot;cHeRry&quot; };<br />varupperLowerWords =<br />from w in words<br />select new { Upper = w.ToUpper(), Lower = w.ToLower() };<br />varstudentQuery = <br />from student in students group student bystudent.Last;<br />
  16. 16. Métodos de extensión (VB / C#)<br />Alguns dels més puristes de la OO no ho veuen amb bons ulls. Jo si <br />ImportsSystem.Runtime.CompilerServices<br />Module StringExtensions<br /> &lt;Extension()&gt; _ <br />Public Sub Print(ByValaString As String) <br />Console.WriteLine(aString) <br />End Sub<br />End Module <br />Imports StringExtensions<br />Dim example As String = &quot;Hello”<br />example.Print()<br />
  17. 17. Expresiones lambda (C#)<br />Representa una funció anònima que pot contenir expressions i instruccions i es pot utilitzar per crear delegats o tipus d’arbres d’expressions. Totes les expressions lambda utilitzen l’operador lambda = &gt;, que es pot llegir com “va a”.<br />delegateint del(int i);<br />del myDelegate = x =&gt; x * x;<br />int j = myDelegate(5); //j = 25<br />customers.Where(c =&gt; c.City == &quot;London&quot;);<br />int[] nums = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };<br />var parells = nums.Where(n =&gt; n % 2 != 1);<br />foreach (var n in parells)<br />{<br />MessageBox.Show(n.ToString());<br />}<br />
  18. 18. Per fi a VB!<br />Funcionalitats que fins ara només eren a C# (int?, ?:)<br />Tipus nullables<br />Dim k As Integer? = Nothing<br />If Not k.HasValue Then<br /> k = 9<br />End If<br />Operador ternari de veritat<br />Dim r = If(5 &lt; 10, &quot;menor&quot;, &quot;major&quot;)<br />
  19. 19. {Novetats enelsllenguatges}<br />Demo<br />
  20. 20. I el que vindrà...<br />Visual Studio 2010 beta (poster)<br /><ul><li> VB 10 i C# 4.0
  21. 21. Parallel extensions</li></ul>La notícia de la setmana<br />
  22. 22. AndorraDotNet<br />Dubtes?<br />Lluís Franco<br />lfranco@uyssoft.com<br />© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.<br />The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.<br />
  23. 23. Microsoft DevCamp<br />¿ Qué es el {dev_camp} ?<br />Es un evento de dos días (fin de semana de 8 y 9 de Noviembre) donde haremos de todo un poco. Habrá sesiones técnicas y habrá momentos de ocio…<br />Resum del Dani:<br />http://andorradotnet.com/blogs/cdani/archive/2008/11/09/dev-camp-2008.aspx<br />El Dani es famós :<br />http://www.navarradotnet.com/post/navarradotnet-en-el-7bdev_camp7d.aspx<br />
  24. 24. Propers events<br />Properament:<br /><ul><li> Sessions dedicades a aprofundir en aquests temes</li></ul>1º semestre (al menys una trobada, millor 2 o 3):<br /><ul><li>Entity Framework / WCF / WFF ¿?</li></ul>Abans de l’estiu:<br /><ul><li> Coordinar trobada amb David Salgado de Microsoft</li></li></ul><li>Elecció de càrrecs del grup<br />Help! <br />Es busca: <br /> Secretari (actes)<br />Administrador site (usuaris, events)<br /> Speakers? Publicadors?<br />
  25. 25. Sorteig de llicències<br />Una mà innocent? :-P<br />
  26. 26. Sopar<br />Qui s’apunta?<br />

×