Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start 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.

No, thanks

Application Frameworks: A .NET Perspective

The presentation file of my seminar about designing and developing Application Frameworks using .NET in 2012 at Microsoft Turkey

Murat Ozgur Kaymakci

on 4 November 2012

Comments (0)

Please log in to add your comment.

Report abuse

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
Default behavior
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
Fast Serializer
Custom TCP
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
Actions Weaving i User Interface (WPF/WinRT) VIEW ViewModel XAML Binder Async 3th party toolkits Modularity Composition Event Mechanism Prism 4.0 MVVM Base Controls ASYNC PROGRAMMıNG Convention over Configuration Principles vs Web Admin UI Scaffolding Explicit Design vs. Implicit Design Keep It Simple Stupid Loosely Coupling Career PATTERNS THANK YOU! JAVASCRIPT POWER: UI & Services EXPRESS Rails Architecture
Full transcript