0
Introducing the Silverlight Cookbook                         Why, what, how and when                           Dennis Doom...
About Me   • Principal Consultant   • 14 years IT experience   • C++ origins but C# since 2001   • Specialties      • .NET...
Defining an architecture     1.      Collect non-functionals     2.      Determine deployment environment     3.      Dete...
Design Decisions     •     Tiers vs. Layers     •     Integration     •     Distribution     •     Scalability     •     S...
The Silverlight Cookbook                         •   Silverlight 5                         •   Fully automated testing (al...
The traditional                         architecture…© 2011 Aviva Solutions                 25 februari 2012
Shell               Views (XAML + C#)                             Well-known                                             ...
As Microsoft wants it…© 2011 Aviva Solutions                            25 februari 2012
Shell                Views (XAML + C#)                             Easy to build                                         ...
Then what?© 2011 Aviva Solutions                25 februari 2012
Shell                Views (XAML + C#)                                                                                    ...
Commanding                                                 Concurrency                                                    ...
What’s Next?                                         •   Nicer Design                                         •   WinRT? H...
Background Information     MVVM, Coroutines, Commanding, Querying, Domain Events,     Testable Repository Pattern     Exam...
Email     dennis.doomen@avivasolutions.nl     Twitter     @ddoomen     Blog     www.dennisdoomen.net© 2011 Aviva Solutions...
Upcoming SlideShare
Loading in...5
×

Introducing the silverlight cookbook

1,209

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Transcript of "Introducing the silverlight cookbook"

  1. 1. Introducing the Silverlight Cookbook Why, what, how and when Dennis Doomen© 2011 Aviva Solutions dennis.doomen@avivasolutions.nl 25 februari 2012
  2. 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. 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. 4. Design Decisions • Tiers vs. Layers • Integration • Distribution • Scalability • Security • Deployment • Diagnostics • Reliability© 2011 Aviva Solutions Dennis Doomen 25 februari 2012
  5. 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. 6. The traditional architecture…© 2011 Aviva Solutions 25 februari 2012
  7. 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. 8. As Microsoft wants it…© 2011 Aviva Solutions 25 februari 2012
  9. 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. 10. Then what?© 2011 Aviva Solutions 25 februari 2012
  11. 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. 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. 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. 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. 15. Email dennis.doomen@avivasolutions.nl Twitter @ddoomen Blog www.dennisdoomen.net© 2011 Aviva Solutions 25 februari 2012
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×