Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
Do you really want to delete this prezi?
Neither you, nor the coeditors you shared it with will be able to recover it again.
Make your likes visible on Facebook?
Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.
Application Frameworks: A .NET Perspective
Transcript of Application Frameworks: A .NET Perspective
A .NET PERSPECTIVE Who am I? Murat Ozgur Kaymakci @frameworkninja from Wikipedia SOFTWARE FRAMEWORK Library vs. Software Framework Inversion Of control
Non-modifiable framework code Differences Inversion of Control "Don't call us, we'll call you." Hollywood says: MEF Unity Some Many Few Containers override virtual
method fw class business class Framework
calls do() do() hot spot frozen spot Defaults Transactions
Protocols (TCP, HTTP) Calling a service (WCF, RMI, etc) Authentication & Authorization (IDF) Distributed Cache (AppFabric, Redis) Serialization&Deserialization (PB, Fast Serializer) WHY? Money&Time Geeks Advantages: DTO: What? Why? When? Loosly coupling Performance Disadvantages Complexity Maintenance Persistence Patterns Active Record Repository Pattern Data Access Layer (LLBLGEN, EF ...) Code generation sucks! User Interface Layer (Designer.cs...) Design time vs. Runtime Maintenance Performance Samples: compile time? (2JS etc) NHibernate ORM WARS Entity Framework vs. In-house Solutions Server-side Business Logging & Exception Handling Caching Security WCF Services WCF, REST, CORBA, RPC, SOAP http://murat.la Supports WCF, ASP.NET, WPF, WinForm
via Configuration The Validation Application Block Validations Data Annotation Attributes Developing Validation Engine ASP.NET MVC & WPF (Metro Style Apps) Verbose, not for complex scenarios Project compilation to JS JS Validations Validations
in C# compiler in F# WHY? zero maintenance cost optimization no UI developer Case Study C# validations to JS validations Server-side Cache Caching Client-side Cache System.Web.Caching
Enterprise Library Caching
System.Runtime.Caching Distributed caching EntLib
Build your own Logging Services WCF Bindings Serialization Protocol Buffers
Named Pipe Test! Workflow Foundation WF Services #Orchestration Developing Custom Activities Sample Activity Entity Trimmer Row based security
Column based security XAML Domain Specific Languages XUL Boo Internal DSLs
External DSLs ASPECT ORIENTED PROGRAMMING Logging Caching Exception handling Diagnostics Custom