Your SlideShare is downloading. ×
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

[CLPE] Novidades do .net Framework 4.0

1,373

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,373
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Novidades do .NET Framework 4 e C# 4.0 “ Keep it simple”
  • 2. Quem sou?
    • Felipe Pimentel
    • MCP, MCTS e MCPD
    • Sócio e fundador da Ificomm Tecnologia
    • Arquiteto e consultor.
    • Líder do DotNetArchitects PE
  • 3. Contatos
    • Twitter: http://twitter.com/felipe_pimentel
    • Email: felipe.pimentel@ificomm.com
    • Blog: http://blog.ificomm.com
    • Grupo: http://pe.dotnetarchitects.net
  • 4. Novidades não faltam
    • ASP.NET WebForm
    • ASP.NET MVC
    • Mudanças na CLR, C# e VB
    • Data Access
    • Serviços
    • WorkFlows
    • WPF
    • MEF
    • ...
  • 5. Agenda
    • Code Contract
    • MEF – Managed Extensibily Framework
    • DLR – Dynamic Language Runtime
    • Parallel Extension
    • Principais novidades no C# 4.0
  • 6. A Look Back… .NET 1.0 .NET 1.1 .NET 2.0 3.0 3.5 .NET 4 2002 2003 2008 CTP 2005-08 CLR 1.0 CLR 1.1 CLR 2.0 CLR 4 SP1
  • 7. The .NET Framework WPF Win Forms DLR ASP.NET WCF And more! LINQ Base Class Libraries The CLR JIT & NGEN Garbage Collector Security Model Exception Handling Loader & Binder
  • 8. Code Contract
    • O que é garantido? (Pré-condição)
    • O que é esperado? (Pós-condição)
    • O que muda? (Invariante)
  • 9. Code Contract
    • System.Diagnotic.Contract
  • 10. Code Contract
  • 11. Code Contract
  • 12. Managed Extensibility Framework?
    • Framework de extensibilidade – para criação de um sistema de plugins. Plugins que podem ser usados em qualquer aplicação.
  • 13. The Problem… Original Software Development Software Maintenance
  • 14. Open/Closed Principle
    • Aberto para extensões e fechados para modificações.
  • 15.
    • Dinamicamente composta ao invés de ser estaticamente compilada
  • 16.  
  • 17. The Parallel Computing Initiative
    • Resolvendo problemas de maneira concorrente
    • “ Concurrency for the masses”
  • 18. Parallel Computing with .NET 4
    • Task Parallel Library (TPL)
    • Parallel LINQ (PLINQ)
    • Coordination Data Structures (CDS)
    • System.Threading Improvements
  • 19. Parallel LINQ
    • Parallel LINQ (PLINQ) enables developers to easily leverage manycore with a minimal impact to existing LINQ programming model
    var q = from p in people          where p.Name == queryInfo.Name && p.State == queryInfo.State && p.Year >= yearStart && p.Year <= yearEnd         orderby p.Year ascending          select p;
  • 20. Parallel Static Class
  • 21. Parallel Static Class
  • 22. Threading Task
  • 23. Why the DLR? Common Language Runtime Statically-Typed C# VB Ruby Python Dynamically-Typed
  • 24. Why the DLR? Common Language Runtime Statically-Typed C# VB Ruby Python Dynamically-Typed Dynamic Language Runtime
  • 25. .NET Dynamic Programming Python Binder Ruby Binder COM Binder JScript Binder Object Binder Dynamic Language Runtime Expression Trees Dynamic Dispatch Call Site Caching IronPython IronRuby C# VB.NET Others…
  • 26. Dynamically Typed Objects Calculator calc = GetCalculator(); int sum = calc.Add(10, 20); object calc = GetCalculator(); Type calcType = calc.GetType(); object res = calcType.InvokeMember( &quot;Add&quot; , BindingFlags.InvokeMethod, null , new object [] { 10, 20 }); int sum = Convert.ToInt32(res); ScriptObject calc = GetCalculator(); object res = calc.Invoke( &quot;Add&quot; , 10, 20); int sum = Convert .ToInt32(res); dynamic calc = GetCalculator(); int sum = calc.Add(10, 20); Statically typed to be dynamic Dynamic method invocation Dynamic conversion
  • 27. .NET Framework Compatibility
  • 28. .NET Framework Compatibility
    • .NET 4.0 is a highly compatible release
    • .NET 4.0 does not auto–roll forward
      • You must add a configuration file with a specific switch to get 3.5 apps to run on 4.0
  • 29. .NET Framework Compatibility
      • Hang on… if 4.0 is compatible, why not run 3.5 apps automatically on 4.0?
      • The BEST thing is always to prefer running on the version of the framework you built against
    • Contact [email_address] and submit your app for testing!
  • 30. CLR 2 - Existing Side-By-Side Host Process (i.e. Outlook) 1.1 add-in .NET 1.1 .NET 2.0 2.0 add-in 3.0 3.5 3.0 add-in 3.5 add-in
  • 31. CLR 4 - In-Process Side-By-Side .NET 2.0 .NET 4.0 2.0 add-in 3.0 3.5 Host Process (i.e. Outlook) 3.0 add-in 3.5 add-in 4.0 add-in
  • 32. NOVIDADES DO C# 4.0
  • 33. The Evolution of C# C# 1.0 C# 2.0 C# 3.0 Managed Code Generics LINQ C# 4.0 Dynamic
  • 34. New C# 4.0 Features
    • Named and Optional Parameters
  • 35. New C# 4.0 Features
    • Covariance and Contravariance
  • 36. Covariance
  • 37. Contravariance
  • 38. Dinamismo em C#
  • 39. Tipo dynamic
    • Resolução dinâmica de métodos, propriedades e eventos (em tempo de execução)
    • Não efetua validação estática
  • 40. ExpandoObject
    • Permite criar novos objetos em tempo de execução
  • 41. DynamicObject
    • Facilita criação de classes dinâmicas
  • 42. Contatos
    • Twitter: http://twitter.com/felipe_pimentel
    • Email: felipe.pimentel@ificomm.com
    • Blog: http://blog.ificomm.com
    • Grupo: http://pe.dotnetarchitects.net
  • 43. Dúvidas?
  • 44. Obrigado!!!

×