Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Dynamics2

188 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Dynamics2

  1. 1. DYNAMICS.NET 4.0SÉRGIO RODRIGUES GIRALDOSERGIO.GIRALDO@ITAU-UNIBANCO.COM.BR
  2. 2. CARACTERÍSTICAS .NET• Strongly typed – type safe• Resolução de tipos é feita em compile time• Plataforma auto-descrita(metadados)
  3. 3. WEAKLY TYPED CENARIOS• CODEDOM • Ótima para geração de código-fonte • Abordagem independente de linguagem• LCG (Lightweight Code Generator) • Requer conhecimento da semântica do código em IL• Expression trees • Object model em tempo de execução
  4. 4. CODEDOM
  5. 5. LGC
  6. 6. EXPRESSION TREE
  7. 7. .NET 4.0: DYNAMIC KEYWORD• Se um tipo é dynamic, significa que o binding e o dispatch sejam postergados (deferred) para o tempo de execução. int intFoo = 2; int intBar = 3; Console.WriteLine(intFoo + intBar); dynamic dynFoo = 2; dynamic dynBar = 3; Console.WriteLine(dynFoo + dynBar);
  8. 8. DUCK TYPE ?Se caminha como um pato e faz quack como um patoentão ... é um pato !
  9. 9. DUCK TYPE? HUMM
  10. 10. NEM TANTO ;D
  11. 11. COMO PARECE NO CÓDIGO?
  12. 12. DYNAMIC, VAR, OBJECTvar: type é inferido do contextoObject: type básico do CTSdynamic: para o compilador é um object porém seu typeapenas será conhecido em runtime
  13. 13. ENTENDENDO ...
  14. 14. DECOMPILER ...
  15. 15. IL
  16. 16. IL
  17. 17. MAS COMO ELEEXECUTA?1. DLR 1. Determinar variáveis e declarações dinâmicas 2. Usar CallSite para determinar as expression trees 3. Executa as trees http://dlr.codeplex.com
  18. 18. NA REAL
  19. 19. DECOMPILED
  20. 20. DECOMPILED
  21. 21. DECOMPILED
  22. 22. BINDER ?
  23. 23. BINDER !

×