SlideShare a Scribd company logo
Introducing the Silverlight Cookbook
                         Why, what, how and when




                           Dennis Doomen


© 2011 Aviva Solutions        dennis.doomen@avivasolutions.nl   25 februari 2012
About Me
   • Principal Consultant
   • 14 years IT experience
   • C++ origins but C# since 2001
   • Specialties
      • .NET Architecture
      • Scrum/XP
      • ALM
   • Speaker
   • Public initiatives
      • Silverlight Cookbook
      • C# Coding Guidelines
      • Fluent Assertions
   • Internet
      • www.dennisdoomen.net
      • DZone MVB
      • @ddoomen
© 2011 Aviva Solutions               Dennis Doomen   25 februari 2012
Defining an architecture
     1.      Collect non-functionals
     2.      Determine deployment environment
     3.      Determine usage
     4.      Select engineering principles
     5.      Read between the lines
     6.      Select technology
     7.      Define reference architecture
     8.      Build & adapt




© 2011 Aviva Solutions                 Dennis Doomen   25 februari 2012
Design Decisions
     •     Tiers vs. Layers
     •     Integration
     •     Distribution
     •     Scalability
     •     Security
     •     Deployment
     •     Diagnostics
     •     Reliability




© 2011 Aviva Solutions        Dennis Doomen   25 februari 2012
The Silverlight Cookbook
                         •   Silverlight 5
                         •   Fully automated testing (almost )
                         •   Complex domain logic
                         •   Task Based
                         •   Scalable
                         •   Responsive
                         •   Any relational DB
                         •   Overkill for most applications, so pick & choose




© 2011 Aviva Solutions           Dennis Doomen                        25 februari 2012
The traditional
                         architecture…




© 2011 Aviva Solutions                 25 februari 2012
Shell               Views (XAML + C#)                             Well-known
                                                                                                                 Rich domain models
                       Silverlight 5



                                                             View Models
                                                                                                                 Many frameworks
                                                         Application Controller
                                                                                                                 Very flexibele
                                                             Service Agent                                    ×   Lots of work
                                                                                                              ×   Lots of plumbing needed
                                                                                                              ×   Not using RIA frameworks
                                                                         DTOs
                                                                                                              ×   DTO conversion troubles
                                                                                                              ×   No eager loading
             WCF




                                                           Service Interface

                                       Service Actions     Domain Model            Workflows
      Nhibernate 3.x
          (+ Fluent)




                                        Repositories        Unit-of-Work          Service Agents




                                                                     Backoffice                    External
                                         Database                     System                       Service




© 2011 Aviva Solutions                                                                                                              25 februari 2012
As Microsoft wants it…


© 2011 Aviva Solutions                            25 februari 2012
Shell                Views (XAML + C#)                             Easy to build
                                                                                                             
                         Silverlight 5




                                                            View Models
                                                                                                                 Simple domain models
                                                                                                                Less plumbing needed
                                                        Application Controller
                                                                                                                No DTO conversions needed
                                                          Domain Context                                        Maximizes RIA frameworks
                                                                                                             
      WCF RIA Services




                                                                                                                 Great for CRUD
                                                                                                                Batching
                                                                        Changesets
                                                                                                             ×   CRUD-based
                                                                                                             ×   Domain model not possible
                                                           Domain Service
                                                                                                             ×   No dynamic relationship
                                             Entities                     Business Actions                       loading
                                                                                                             ×   Almost enum support
                                             Entity Framework                    Service Agents
                                                                                                             ×   No 2nd level caching

                                                                    Backoffice                    External
                                         Database                    System                       Service




© 2011 Aviva Solutions                                                                                                             25 februari 2012
Then what?




© 2011 Aviva Solutions                25 februari 2012
Shell                Views (XAML + C#)




                                                                                                         Caliburn Micro
                                   Silverlight 5




                                                                                                                          AutoFac
                                                    Coroutines                View Models

                                                                 Application Controller

                                                         Service Agent              Bootstrapper
                                WCF Data Services


                                                              DTOs                             Commands


                                                       Query Services                   Command Service

                                                       Event Handlers                Command Handlers




                                                                                                                                               AutoFac
                                                                                                                                     Logging
                         Nhibernate 3.x
                             (+ Fluent)




                                                       Domain Events                      Domain Model

                                                    Repositories         Unit of Work        Service Agents




                                                                                  Backoffice                                        External
                                                     Database                      System                                           Service




© 2011 Aviva Solutions                                                                                                                                   25 februari 2012
Commanding
                                                 Concurrency
                                                                 Validation
                                      Querying
         Testability                                     Business Rules

                                      Recipes
           Data Access
                                                          Deployment
                 Exception Handling         IoC
                                                         Composition
                  Logging              Asynchronity



© 2011 Aviva Solutions                                                    25 februari 2012
What’s Next?
                                         •   Nicer Design
                                         •   WinRT? HTML5?
                                         •   Query Optimization
                                         •   Key-Based Commanding
                                         •   More CQRS
                                         •   Authentication
                                         •   Authorization
                                         •   Globalization
                                         •   Fluent Migration




© 2011 Aviva Solutions   Dennis Doomen                       25 februari 2012
Background Information
     MVVM, Coroutines, Commanding, Querying, Domain Events,
     Testable Repository Pattern

     Example Code, Frameworks
     Silverlight Cookbook, Caliburn Micro, AutoFac, NHibernate,
     Fluent NHibernate, Fluent Assertions




© 2011 Aviva Solutions                                        25 februari 2012
Email
     dennis.doomen@avivasolutions.nl

     Twitter
     @ddoomen

     Blog
     www.dennisdoomen.net




© 2011 Aviva Solutions                 25 februari 2012

More Related Content

What's hot

Oracle tech db-04-cost-effective-neum-16.04.2010
Oracle tech db-04-cost-effective-neum-16.04.2010Oracle tech db-04-cost-effective-neum-16.04.2010
Oracle tech db-04-cost-effective-neum-16.04.2010Oracle BH
 
Unified FlexPod Management and Automation
Unified FlexPod Management and AutomationUnified FlexPod Management and Automation
Unified FlexPod Management and Automation
subtitle
 
Macleans - NZ Business taking on the world with a world class IT infrastructu...
Macleans - NZ Business taking on the world with a world class IT infrastructu...Macleans - NZ Business taking on the world with a world class IT infrastructu...
Macleans - NZ Business taking on the world with a world class IT infrastructu...
Vincent Kwon
 
Presentaties seminar de virtuele realiteit
Presentaties seminar de virtuele realiteitPresentaties seminar de virtuele realiteit
Presentaties seminar de virtuele realiteit
Joan Tuls
 
5 Cloud Commandments - Why Cloud Management Makes Sense
5 Cloud Commandments - Why Cloud Management Makes Sense5 Cloud Commandments - Why Cloud Management Makes Sense
5 Cloud Commandments - Why Cloud Management Makes Sense
RightScale
 
14h00 aws deck-summit2012_sap_on_aws_s_jones_final
14h00   aws deck-summit2012_sap_on_aws_s_jones_final14h00   aws deck-summit2012_sap_on_aws_s_jones_final
14h00 aws deck-summit2012_sap_on_aws_s_jones_finalLuiz Gustavo Santos
 
Vision dt solutions vmug leeds
Vision dt solutions vmug leedsVision dt solutions vmug leeds
Vision dt solutions vmug leeds
subtitle
 
Perspectives and Case Studies on Effective Theatre Base Service Management
Perspectives and Case Studies on Effective Theatre Base Service ManagementPerspectives and Case Studies on Effective Theatre Base Service Management
Perspectives and Case Studies on Effective Theatre Base Service ManagementIBMGovernmentCA
 
IBM Cloud Burst postavená na platforme IBM System x
IBM Cloud Burst postavená na platforme IBM System xIBM Cloud Burst postavená na platforme IBM System x
IBM Cloud Burst postavená na platforme IBM System x
ASBIS SK
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinarCloudBees
 
Cloud Computing and System z
Cloud Computing and System zCloud Computing and System z
Cloud Computing and System zdkang
 
2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis
dandre
 
Adobe Salon Linux
Adobe Salon LinuxAdobe Salon Linux
Adobe Salon Linux
Michael Chaize
 
ITCamp 2012 - Paul Roman - Hybrid solutions in Office 365
ITCamp 2012 - Paul Roman - Hybrid solutions in Office 365ITCamp 2012 - Paul Roman - Hybrid solutions in Office 365
ITCamp 2012 - Paul Roman - Hybrid solutions in Office 365ITCamp
 
Do More with Oracle Environment with Open and Best of breed Technologies
Do More with Oracle Environment with Open and Best of breed TechnologiesDo More with Oracle Environment with Open and Best of breed Technologies
Do More with Oracle Environment with Open and Best of breed Technologies
EMC Forum India
 
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
IBM India Smarter Computing
 
Was ist neu in Exchange 2013?
Was ist neu in Exchange 2013?Was ist neu in Exchange 2013?
Was ist neu in Exchange 2013?
Digicomp Academy AG
 
Windows azure uk universities overview march 2012
Windows azure uk universities overview march 2012Windows azure uk universities overview march 2012
Windows azure uk universities overview march 2012
Lee Stott
 
Architecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud ExpoArchitecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud Expo
smw355
 
Tim Cramer, Eucaday
Tim Cramer, EucadayTim Cramer, Eucaday
Tim Cramer, Eucaday
Greg DeKoenigsberg
 

What's hot (20)

Oracle tech db-04-cost-effective-neum-16.04.2010
Oracle tech db-04-cost-effective-neum-16.04.2010Oracle tech db-04-cost-effective-neum-16.04.2010
Oracle tech db-04-cost-effective-neum-16.04.2010
 
Unified FlexPod Management and Automation
Unified FlexPod Management and AutomationUnified FlexPod Management and Automation
Unified FlexPod Management and Automation
 
Macleans - NZ Business taking on the world with a world class IT infrastructu...
Macleans - NZ Business taking on the world with a world class IT infrastructu...Macleans - NZ Business taking on the world with a world class IT infrastructu...
Macleans - NZ Business taking on the world with a world class IT infrastructu...
 
Presentaties seminar de virtuele realiteit
Presentaties seminar de virtuele realiteitPresentaties seminar de virtuele realiteit
Presentaties seminar de virtuele realiteit
 
5 Cloud Commandments - Why Cloud Management Makes Sense
5 Cloud Commandments - Why Cloud Management Makes Sense5 Cloud Commandments - Why Cloud Management Makes Sense
5 Cloud Commandments - Why Cloud Management Makes Sense
 
14h00 aws deck-summit2012_sap_on_aws_s_jones_final
14h00   aws deck-summit2012_sap_on_aws_s_jones_final14h00   aws deck-summit2012_sap_on_aws_s_jones_final
14h00 aws deck-summit2012_sap_on_aws_s_jones_final
 
Vision dt solutions vmug leeds
Vision dt solutions vmug leedsVision dt solutions vmug leeds
Vision dt solutions vmug leeds
 
Perspectives and Case Studies on Effective Theatre Base Service Management
Perspectives and Case Studies on Effective Theatre Base Service ManagementPerspectives and Case Studies on Effective Theatre Base Service Management
Perspectives and Case Studies on Effective Theatre Base Service Management
 
IBM Cloud Burst postavená na platforme IBM System x
IBM Cloud Burst postavená na platforme IBM System xIBM Cloud Burst postavená na platforme IBM System x
IBM Cloud Burst postavená na platforme IBM System x
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinar
 
Cloud Computing and System z
Cloud Computing and System zCloud Computing and System z
Cloud Computing and System z
 
2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis
 
Adobe Salon Linux
Adobe Salon LinuxAdobe Salon Linux
Adobe Salon Linux
 
ITCamp 2012 - Paul Roman - Hybrid solutions in Office 365
ITCamp 2012 - Paul Roman - Hybrid solutions in Office 365ITCamp 2012 - Paul Roman - Hybrid solutions in Office 365
ITCamp 2012 - Paul Roman - Hybrid solutions in Office 365
 
Do More with Oracle Environment with Open and Best of breed Technologies
Do More with Oracle Environment with Open and Best of breed TechnologiesDo More with Oracle Environment with Open and Best of breed Technologies
Do More with Oracle Environment with Open and Best of breed Technologies
 
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
 
Was ist neu in Exchange 2013?
Was ist neu in Exchange 2013?Was ist neu in Exchange 2013?
Was ist neu in Exchange 2013?
 
Windows azure uk universities overview march 2012
Windows azure uk universities overview march 2012Windows azure uk universities overview march 2012
Windows azure uk universities overview march 2012
 
Architecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud ExpoArchitecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud Expo
 
Tim Cramer, Eucaday
Tim Cramer, EucadayTim Cramer, Eucaday
Tim Cramer, Eucaday
 

Viewers also liked

Building autonomous components with OWIN, PSake, NuGet, GitVersion and Swagger
Building autonomous components with OWIN, PSake, NuGet, GitVersion and SwaggerBuilding autonomous components with OWIN, PSake, NuGet, GitVersion and Swagger
Building autonomous components with OWIN, PSake, NuGet, GitVersion and Swagger
Dennis Doomen
 
The Good, The Bad and The Ugly of Event Sourcing
The Good, The Bad and The Ugly of Event SourcingThe Good, The Bad and The Ugly of Event Sourcing
The Good, The Bad and The Ugly of Event Sourcing
Dennis Doomen
 
Why we ditched TFS and embraced Git, Github, TeamCity and Myget
Why we ditched TFS and embraced Git, Github, TeamCity and MygetWhy we ditched TFS and embraced Git, Github, TeamCity and Myget
Why we ditched TFS and embraced Git, Github, TeamCity and Myget
Dennis Doomen
 
How to practice TDD without shooting yourself in the foot
How to practice TDD without shooting yourself in the footHow to practice TDD without shooting yourself in the foot
How to practice TDD without shooting yourself in the foot
Dennis Doomen
 
Building occasionally connected applications using event sourcing
Building occasionally connected applications using event sourcingBuilding occasionally connected applications using event sourcing
Building occasionally connected applications using event sourcing
Dennis Doomen
 
Little productivity tools every developer should use
Little productivity tools every developer should useLittle productivity tools every developer should use
Little productivity tools every developer should use
Dennis Doomen
 
Git like a Pro (How to use it as it was meant to)
Git like a Pro (How to use it as it was meant to)Git like a Pro (How to use it as it was meant to)
Git like a Pro (How to use it as it was meant to)
Dennis Doomen
 

Viewers also liked (7)

Building autonomous components with OWIN, PSake, NuGet, GitVersion and Swagger
Building autonomous components with OWIN, PSake, NuGet, GitVersion and SwaggerBuilding autonomous components with OWIN, PSake, NuGet, GitVersion and Swagger
Building autonomous components with OWIN, PSake, NuGet, GitVersion and Swagger
 
The Good, The Bad and The Ugly of Event Sourcing
The Good, The Bad and The Ugly of Event SourcingThe Good, The Bad and The Ugly of Event Sourcing
The Good, The Bad and The Ugly of Event Sourcing
 
Why we ditched TFS and embraced Git, Github, TeamCity and Myget
Why we ditched TFS and embraced Git, Github, TeamCity and MygetWhy we ditched TFS and embraced Git, Github, TeamCity and Myget
Why we ditched TFS and embraced Git, Github, TeamCity and Myget
 
How to practice TDD without shooting yourself in the foot
How to practice TDD without shooting yourself in the footHow to practice TDD without shooting yourself in the foot
How to practice TDD without shooting yourself in the foot
 
Building occasionally connected applications using event sourcing
Building occasionally connected applications using event sourcingBuilding occasionally connected applications using event sourcing
Building occasionally connected applications using event sourcing
 
Little productivity tools every developer should use
Little productivity tools every developer should useLittle productivity tools every developer should use
Little productivity tools every developer should use
 
Git like a Pro (How to use it as it was meant to)
Git like a Pro (How to use it as it was meant to)Git like a Pro (How to use it as it was meant to)
Git like a Pro (How to use it as it was meant to)
 

Similar to Introducing the silverlight cookbook

Dell and OpenStack
Dell and OpenStackDell and OpenStack
Dell and OpenStackeNovance
 
Monitoring thecloud openstackdaysturkey
Monitoring thecloud openstackdaysturkeyMonitoring thecloud openstackdaysturkey
Monitoring thecloud openstackdaysturkey
Mohamed ELMesseiry
 
Cloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleCloud Computing: Making IT Simple
Cloud Computing: Making IT Simple
Bob Rhubart
 
Cloud platform technical sales presentation
Cloud platform technical sales presentationCloud platform technical sales presentation
Cloud platform technical sales presentation
Nuno Alves
 
Cloud Computing - Making IT Simple
 Cloud Computing - Making IT Simple Cloud Computing - Making IT Simple
Cloud Computing - Making IT Simple
Bob Rhubart
 
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...Eucalyptus Systems, Inc.
 
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...Eucalyptus Systems, Inc.
 
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...Eucalyptus Systems, Inc.
 
Cloud Computing at UTM Shillong
Cloud Computing at UTM ShillongCloud Computing at UTM Shillong
Cloud Computing at UTM Shillong
Capgemini
 
Christian ferber cloud platform_cloudportal
Christian ferber cloud platform_cloudportalChristian ferber cloud platform_cloudportal
Christian ferber cloud platform_cloudportalDigicomp Academy AG
 
Comparing Ruby on Rails Public vs. Private Cloud Options
Comparing Ruby on Rails Public vs. Private Cloud OptionsComparing Ruby on Rails Public vs. Private Cloud Options
Comparing Ruby on Rails Public vs. Private Cloud Options
Altoros
 
Agile 2012 Conference briefing deck for Analyst and Press
Agile 2012 Conference briefing deck for Analyst and Press Agile 2012 Conference briefing deck for Analyst and Press
Agile 2012 Conference briefing deck for Analyst and Press
Laszlo Szalvay
 
Aspects of Modern APM Solutions
Aspects of Modern APM SolutionsAspects of Modern APM Solutions
Aspects of Modern APM Solutions
nlwebperf
 
Cloud Computing - Making IT Simple
Cloud Computing - Making IT SimpleCloud Computing - Making IT Simple
Cloud Computing - Making IT Simple
Bob Rhubart
 
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
Arun Gupta
 
Demystifying System Center 2012
Demystifying System Center 2012Demystifying System Center 2012
Demystifying System Center 2012
C/D/H Technology Consultants
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference Architecture
Bob Rhubart
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case StudyADC Austin Tech
 
Rightscale Webinar: Designing Private & Hybrid Clouds (Hosted by Citrix)
Rightscale Webinar: Designing Private & Hybrid Clouds (Hosted by Citrix)Rightscale Webinar: Designing Private & Hybrid Clouds (Hosted by Citrix)
Rightscale Webinar: Designing Private & Hybrid Clouds (Hosted by Citrix)
RightScale
 

Similar to Introducing the silverlight cookbook (20)

Dell and OpenStack
Dell and OpenStackDell and OpenStack
Dell and OpenStack
 
Monitoring thecloud openstackdaysturkey
Monitoring thecloud openstackdaysturkeyMonitoring thecloud openstackdaysturkey
Monitoring thecloud openstackdaysturkey
 
Cloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleCloud Computing: Making IT Simple
Cloud Computing: Making IT Simple
 
Cloud platform technical sales presentation
Cloud platform technical sales presentationCloud platform technical sales presentation
Cloud platform technical sales presentation
 
Cloud Computing - Making IT Simple
 Cloud Computing - Making IT Simple Cloud Computing - Making IT Simple
Cloud Computing - Making IT Simple
 
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
 
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
 
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
 
Cloud Computing at UTM Shillong
Cloud Computing at UTM ShillongCloud Computing at UTM Shillong
Cloud Computing at UTM Shillong
 
Christian ferber cloud platform_cloudportal
Christian ferber cloud platform_cloudportalChristian ferber cloud platform_cloudportal
Christian ferber cloud platform_cloudportal
 
Comparing Ruby on Rails Public vs. Private Cloud Options
Comparing Ruby on Rails Public vs. Private Cloud OptionsComparing Ruby on Rails Public vs. Private Cloud Options
Comparing Ruby on Rails Public vs. Private Cloud Options
 
Agile 2012 Conference briefing deck for Analyst and Press
Agile 2012 Conference briefing deck for Analyst and Press Agile 2012 Conference briefing deck for Analyst and Press
Agile 2012 Conference briefing deck for Analyst and Press
 
Aspects of Modern APM Solutions
Aspects of Modern APM SolutionsAspects of Modern APM Solutions
Aspects of Modern APM Solutions
 
Cloud Computing - Making IT Simple
Cloud Computing - Making IT SimpleCloud Computing - Making IT Simple
Cloud Computing - Making IT Simple
 
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
 
Demystifying System Center 2012
Demystifying System Center 2012Demystifying System Center 2012
Demystifying System Center 2012
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference Architecture
 
Private cloud in a box
Private cloud in a boxPrivate cloud in a box
Private cloud in a box
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case Study
 
Rightscale Webinar: Designing Private & Hybrid Clouds (Hosted by Citrix)
Rightscale Webinar: Designing Private & Hybrid Clouds (Hosted by Citrix)Rightscale Webinar: Designing Private & Hybrid Clouds (Hosted by Citrix)
Rightscale Webinar: Designing Private & Hybrid Clouds (Hosted by Citrix)
 

More from Dennis Doomen

Getting a grip on your code dependencies (2023-10)
Getting a grip on your code dependencies (2023-10)Getting a grip on your code dependencies (2023-10)
Getting a grip on your code dependencies (2023-10)
Dennis Doomen
 
Tools and practices to help you deal with legacy code
Tools and practices to help you deal with legacy codeTools and practices to help you deal with legacy code
Tools and practices to help you deal with legacy code
Dennis Doomen
 
What you can learn from an open-source project with 250 million downloads
What you can learn from an open-source project with 250 million downloadsWhat you can learn from an open-source project with 250 million downloads
What you can learn from an open-source project with 250 million downloads
Dennis Doomen
 
Getting a grip on your code dependencies
Getting a grip on your code dependenciesGetting a grip on your code dependencies
Getting a grip on your code dependencies
Dennis Doomen
 
My Laws of Test Driven Development (2023)
My Laws of Test Driven Development (2023)My Laws of Test Driven Development (2023)
My Laws of Test Driven Development (2023)
Dennis Doomen
 
Design patterns for Event Sourcing in .NET
Design patterns for Event Sourcing in .NETDesign patterns for Event Sourcing in .NET
Design patterns for Event Sourcing in .NET
Dennis Doomen
 
Automate Infrastructure with Pulumi and C#
Automate Infrastructure with Pulumi and C#Automate Infrastructure with Pulumi and C#
Automate Infrastructure with Pulumi and C#
Dennis Doomen
 
What is the right unit in unit testing (UpdateConf 2022)
What is the right unit in unit testing (UpdateConf 2022)What is the right unit in unit testing (UpdateConf 2022)
What is the right unit in unit testing (UpdateConf 2022)
Dennis Doomen
 
Slow Event Sourcing (re)projections - Just make them faster!
Slow Event Sourcing (re)projections - Just make them faster!Slow Event Sourcing (re)projections - Just make them faster!
Slow Event Sourcing (re)projections - Just make them faster!
Dennis Doomen
 
50 things software teams should not do.pptx
50 things software teams should not do.pptx50 things software teams should not do.pptx
50 things software teams should not do.pptx
Dennis Doomen
 
What is the right "unit" in unit testing and why it is not a class?
What is the right "unit" in unit testing and why it is not a class?What is the right "unit" in unit testing and why it is not a class?
What is the right "unit" in unit testing and why it is not a class?
Dennis Doomen
 
A lab around the principles and practices for writing maintainable code
A lab around the principles and practices for writing maintainable codeA lab around the principles and practices for writing maintainable code
A lab around the principles and practices for writing maintainable code
Dennis Doomen
 
How to Practice TDD Without Shooting Yourself in the Foot
How to Practice TDD Without Shooting Yourself in the FootHow to Practice TDD Without Shooting Yourself in the Foot
How to Practice TDD Without Shooting Yourself in the Foot
Dennis Doomen
 
Decomposing the Monolith using modern-day .NET and a touch of microservices
Decomposing the Monolith using modern-day .NET and a touch of microservicesDecomposing the Monolith using modern-day .NET and a touch of microservices
Decomposing the Monolith using modern-day .NET and a touch of microservices
Dennis Doomen
 
Event Sourcing from the Trenches (DDD Europe 2020)
Event Sourcing from the Trenches (DDD Europe 2020)Event Sourcing from the Trenches (DDD Europe 2020)
Event Sourcing from the Trenches (DDD Europe 2020)
Dennis Doomen
 
Practical introduction to DDD, CQRS and Event Sourcing
Practical introduction to DDD, CQRS and Event SourcingPractical introduction to DDD, CQRS and Event Sourcing
Practical introduction to DDD, CQRS and Event Sourcing
Dennis Doomen
 
How to practice TDD without shooting yourself in the foot
How to practice TDD without shooting yourself in the footHow to practice TDD without shooting yourself in the foot
How to practice TDD without shooting yourself in the foot
Dennis Doomen
 
Decomposing the Monolith (Riga Dev Days 2019)
Decomposing the Monolith (Riga Dev Days 2019)Decomposing the Monolith (Riga Dev Days 2019)
Decomposing the Monolith (Riga Dev Days 2019)
Dennis Doomen
 
A lab around the principles and practices for writing maintainable code (2019)
A lab around the principles and practices for writing maintainable code (2019)A lab around the principles and practices for writing maintainable code (2019)
A lab around the principles and practices for writing maintainable code (2019)
Dennis Doomen
 
Lessons learned from two decades of professional software development
Lessons learned from two decades of professional software developmentLessons learned from two decades of professional software development
Lessons learned from two decades of professional software development
Dennis Doomen
 

More from Dennis Doomen (20)

Getting a grip on your code dependencies (2023-10)
Getting a grip on your code dependencies (2023-10)Getting a grip on your code dependencies (2023-10)
Getting a grip on your code dependencies (2023-10)
 
Tools and practices to help you deal with legacy code
Tools and practices to help you deal with legacy codeTools and practices to help you deal with legacy code
Tools and practices to help you deal with legacy code
 
What you can learn from an open-source project with 250 million downloads
What you can learn from an open-source project with 250 million downloadsWhat you can learn from an open-source project with 250 million downloads
What you can learn from an open-source project with 250 million downloads
 
Getting a grip on your code dependencies
Getting a grip on your code dependenciesGetting a grip on your code dependencies
Getting a grip on your code dependencies
 
My Laws of Test Driven Development (2023)
My Laws of Test Driven Development (2023)My Laws of Test Driven Development (2023)
My Laws of Test Driven Development (2023)
 
Design patterns for Event Sourcing in .NET
Design patterns for Event Sourcing in .NETDesign patterns for Event Sourcing in .NET
Design patterns for Event Sourcing in .NET
 
Automate Infrastructure with Pulumi and C#
Automate Infrastructure with Pulumi and C#Automate Infrastructure with Pulumi and C#
Automate Infrastructure with Pulumi and C#
 
What is the right unit in unit testing (UpdateConf 2022)
What is the right unit in unit testing (UpdateConf 2022)What is the right unit in unit testing (UpdateConf 2022)
What is the right unit in unit testing (UpdateConf 2022)
 
Slow Event Sourcing (re)projections - Just make them faster!
Slow Event Sourcing (re)projections - Just make them faster!Slow Event Sourcing (re)projections - Just make them faster!
Slow Event Sourcing (re)projections - Just make them faster!
 
50 things software teams should not do.pptx
50 things software teams should not do.pptx50 things software teams should not do.pptx
50 things software teams should not do.pptx
 
What is the right "unit" in unit testing and why it is not a class?
What is the right "unit" in unit testing and why it is not a class?What is the right "unit" in unit testing and why it is not a class?
What is the right "unit" in unit testing and why it is not a class?
 
A lab around the principles and practices for writing maintainable code
A lab around the principles and practices for writing maintainable codeA lab around the principles and practices for writing maintainable code
A lab around the principles and practices for writing maintainable code
 
How to Practice TDD Without Shooting Yourself in the Foot
How to Practice TDD Without Shooting Yourself in the FootHow to Practice TDD Without Shooting Yourself in the Foot
How to Practice TDD Without Shooting Yourself in the Foot
 
Decomposing the Monolith using modern-day .NET and a touch of microservices
Decomposing the Monolith using modern-day .NET and a touch of microservicesDecomposing the Monolith using modern-day .NET and a touch of microservices
Decomposing the Monolith using modern-day .NET and a touch of microservices
 
Event Sourcing from the Trenches (DDD Europe 2020)
Event Sourcing from the Trenches (DDD Europe 2020)Event Sourcing from the Trenches (DDD Europe 2020)
Event Sourcing from the Trenches (DDD Europe 2020)
 
Practical introduction to DDD, CQRS and Event Sourcing
Practical introduction to DDD, CQRS and Event SourcingPractical introduction to DDD, CQRS and Event Sourcing
Practical introduction to DDD, CQRS and Event Sourcing
 
How to practice TDD without shooting yourself in the foot
How to practice TDD without shooting yourself in the footHow to practice TDD without shooting yourself in the foot
How to practice TDD without shooting yourself in the foot
 
Decomposing the Monolith (Riga Dev Days 2019)
Decomposing the Monolith (Riga Dev Days 2019)Decomposing the Monolith (Riga Dev Days 2019)
Decomposing the Monolith (Riga Dev Days 2019)
 
A lab around the principles and practices for writing maintainable code (2019)
A lab around the principles and practices for writing maintainable code (2019)A lab around the principles and practices for writing maintainable code (2019)
A lab around the principles and practices for writing maintainable code (2019)
 
Lessons learned from two decades of professional software development
Lessons learned from two decades of professional software developmentLessons learned from two decades of professional software development
Lessons learned from two decades of professional software development
 

Recently uploaded

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 

Recently uploaded (20)

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 

Introducing the silverlight cookbook

  • 1. Introducing the Silverlight Cookbook Why, what, how and when Dennis Doomen © 2011 Aviva Solutions dennis.doomen@avivasolutions.nl 25 februari 2012
  • 2. About Me • Principal Consultant • 14 years IT experience • C++ origins but C# since 2001 • Specialties • .NET Architecture • Scrum/XP • ALM • Speaker • Public initiatives • Silverlight Cookbook • C# Coding Guidelines • Fluent Assertions • Internet • www.dennisdoomen.net • DZone MVB • @ddoomen © 2011 Aviva Solutions Dennis Doomen 25 februari 2012
  • 3. Defining an architecture 1. Collect non-functionals 2. Determine deployment environment 3. Determine usage 4. Select engineering principles 5. Read between the lines 6. Select technology 7. Define reference architecture 8. Build & adapt © 2011 Aviva Solutions Dennis Doomen 25 februari 2012
  • 4. Design Decisions • Tiers vs. Layers • Integration • Distribution • Scalability • Security • Deployment • Diagnostics • Reliability © 2011 Aviva Solutions Dennis Doomen 25 februari 2012
  • 5. The Silverlight Cookbook • Silverlight 5 • Fully automated testing (almost ) • Complex domain logic • Task Based • Scalable • Responsive • Any relational DB • Overkill for most applications, so pick & choose © 2011 Aviva Solutions Dennis Doomen 25 februari 2012
  • 6. The traditional architecture… © 2011 Aviva Solutions 25 februari 2012
  • 7. Shell Views (XAML + C#)  Well-known  Rich domain models Silverlight 5 View Models  Many frameworks Application Controller  Very flexibele Service Agent × Lots of work × Lots of plumbing needed × Not using RIA frameworks DTOs × DTO conversion troubles × No eager loading WCF Service Interface Service Actions Domain Model Workflows Nhibernate 3.x (+ Fluent) Repositories Unit-of-Work Service Agents Backoffice External Database System Service © 2011 Aviva Solutions 25 februari 2012
  • 8. As Microsoft wants it… © 2011 Aviva Solutions 25 februari 2012
  • 9. Shell Views (XAML + C#)  Easy to build  Silverlight 5 View Models Simple domain models  Less plumbing needed Application Controller  No DTO conversions needed Domain Context  Maximizes RIA frameworks  WCF RIA Services Great for CRUD  Batching Changesets × CRUD-based × Domain model not possible Domain Service × No dynamic relationship Entities Business Actions loading × Almost enum support Entity Framework Service Agents × No 2nd level caching Backoffice External Database System Service © 2011 Aviva Solutions 25 februari 2012
  • 10. Then what? © 2011 Aviva Solutions 25 februari 2012
  • 11. Shell Views (XAML + C#) Caliburn Micro Silverlight 5 AutoFac Coroutines View Models Application Controller Service Agent Bootstrapper WCF Data Services DTOs Commands Query Services Command Service Event Handlers Command Handlers AutoFac Logging Nhibernate 3.x (+ Fluent) Domain Events Domain Model Repositories Unit of Work Service Agents Backoffice External Database System Service © 2011 Aviva Solutions 25 februari 2012
  • 12. Commanding Concurrency Validation Querying Testability Business Rules Recipes Data Access Deployment Exception Handling IoC Composition Logging Asynchronity © 2011 Aviva Solutions 25 februari 2012
  • 13. What’s Next? • Nicer Design • WinRT? HTML5? • Query Optimization • Key-Based Commanding • More CQRS • Authentication • Authorization • Globalization • Fluent Migration © 2011 Aviva Solutions Dennis Doomen 25 februari 2012
  • 14. Background Information MVVM, Coroutines, Commanding, Querying, Domain Events, Testable Repository Pattern Example Code, Frameworks Silverlight Cookbook, Caliburn Micro, AutoFac, NHibernate, Fluent NHibernate, Fluent Assertions © 2011 Aviva Solutions 25 februari 2012
  • 15. Email dennis.doomen@avivasolutions.nl Twitter @ddoomen Blog www.dennisdoomen.net © 2011 Aviva Solutions 25 februari 2012