Forretningsapplikasjoner med WPF Gøran Hansen Senior Consultant, Capgemini http://blog.goeran.no [email_address]
Agenda <ul><li>WPF Recap </li></ul><ul><li>Utvikling av GUI </li></ul><ul><li>Prinsipper </li></ul><ul><li>Presentation Mo...
WPF Recap! <ul><li>Det av .NET 3* </li></ul><ul><li>Platform </li></ul><ul><ul><li>Hard 2/3D </li></ul></ul><ul><ul><li>Ve...
WPF Recap! <ul><li>Rammeverk </li></ul><ul><ul><li>Rik komposisjonsmodell </li></ul></ul><ul><ul><li>Styles and Templates ...
Utvikling av GUI <ul><li>Team med flere utviklere </li></ul><ul><li>Endringer er garantert </li></ul>
Dette skjer! <ul><li>Høy kobling </li></ul><ul><li>Vanskelig å legge til ny funksjonalitet eller erstatte eksisterende </l...
 
 
 
 
 
 
Hmmm... <ul><li>Hvordan lage løsere kobling? </li></ul><ul><li>Hvordan dekomponere GUI koden? </li></ul><ul><li>Hvor komme...
<ul><li>Prinsipper! </li></ul><ul><li>Design Patterns </li></ul>
Prinsipper <ul><li>” Program to an interface, not an implementation” </li></ul><ul><li>Separation Of Concerns </li></ul>
<ul><li>Design Patterns </li></ul>
Presentation Model Presentation Model Represents the state and the behavior of the presentation independently of the GUI c...
Presentation Model Presentation Model is a pattern that  pulls presentation behavior from a view .
Presentation Model It's useful for  allowing you to test  without the UI, support for some form of multiple view and a  se...
View (XAML) Data Binding Change  notification “ It is easier to consider  Presentation Model  as an  abstract of the view ...
Probably the most  annoying  part of Presentation Model is the synchronization between Presentation Model and view.
Presentation Model Ideally some kind of framework could handle this, which I'm hoping will happen some day with technologi...
<ul><li>WPF Data Binding! </li></ul>
View (XAML) Data Binding Change  notification Presentation Model State Name, Description, Estimate, IsSaveButtonEnabled Op...
Testing
Oppsummering <ul><li>WPF + Presentation Model = Godt design! </li></ul><ul><li>Separation Of Concerns </li></ul><ul><li>” ...
Hvorfor WPF <ul><li>Kunnskap er portabel til Web (Silverlight 2) </li></ul><ul><li>Designer <-> Dev vennlig </li></ul><ul>...
Tools <ul><li>CompositeWPF (CAB)  </li></ul>
Forretningsapplikasjoner med WPF Gøran Hansen Senior Consultant, Capgemini http://blog.goeran.no [email_address]
Upcoming SlideShare
Loading in...5
×

MSDN Live: Windows Presentation Foundations Line of Business Apps

549

Published on

Best pratices when developing LOB with WPF!

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

  • Be the first to like this

No Downloads
Views
Total Views
549
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

MSDN Live: Windows Presentation Foundations Line of Business Apps

  1. 1. Forretningsapplikasjoner med WPF Gøran Hansen Senior Consultant, Capgemini http://blog.goeran.no [email_address]
  2. 2. Agenda <ul><li>WPF Recap </li></ul><ul><li>Utvikling av GUI </li></ul><ul><li>Prinsipper </li></ul><ul><li>Presentation Model </li></ul><ul><li>Testing </li></ul>
  3. 3. WPF Recap! <ul><li>Det av .NET 3* </li></ul><ul><li>Platform </li></ul><ul><ul><li>Hard 2/3D </li></ul></ul><ul><ul><li>Vektorbasert </li></ul></ul><ul><ul><li>Video og Lyd </li></ul></ul>
  4. 4. WPF Recap! <ul><li>Rammeverk </li></ul><ul><ul><li>Rik komposisjonsmodell </li></ul></ul><ul><ul><li>Styles and Templates </li></ul></ul><ul><ul><li>Databinding </li></ul></ul><ul><li>XAML </li></ul>
  5. 5. Utvikling av GUI <ul><li>Team med flere utviklere </li></ul><ul><li>Endringer er garantert </li></ul>
  6. 6. Dette skjer! <ul><li>Høy kobling </li></ul><ul><li>Vanskelig å legge til ny funksjonalitet eller erstatte eksisterende </li></ul><ul><li>Vanskelig å teste og deploye </li></ul><ul><li>Monolitisk </li></ul>
  7. 13. Hmmm... <ul><li>Hvordan lage løsere kobling? </li></ul><ul><li>Hvordan dekomponere GUI koden? </li></ul><ul><li>Hvor kommer WPF inn i bildet? </li></ul>
  8. 14. <ul><li>Prinsipper! </li></ul><ul><li>Design Patterns </li></ul>
  9. 15. Prinsipper <ul><li>” Program to an interface, not an implementation” </li></ul><ul><li>Separation Of Concerns </li></ul>
  10. 16. <ul><li>Design Patterns </li></ul>
  11. 17. Presentation Model Presentation Model Represents the state and the behavior of the presentation independently of the GUI controls used in the interface. Martin Fowler Design Pattern Guru
  12. 18. Presentation Model Presentation Model is a pattern that pulls presentation behavior from a view .
  13. 19. Presentation Model It's useful for allowing you to test without the UI, support for some form of multiple view and a separation of concerns which may make it easier to develop the user interface.
  14. 20. View (XAML) Data Binding Change notification “ It is easier to consider Presentation Model as an abstract of the view that is not dependent on a specific GUI framework.” “ A view then simply projects the state of the presentation model onto the glass.” Presentation Model State Name, Description, Estimate, IsSaveButtonEnabled Operations Save, Delete Data Model WS DB FS
  15. 21. Probably the most annoying part of Presentation Model is the synchronization between Presentation Model and view.
  16. 22. Presentation Model Ideally some kind of framework could handle this, which I'm hoping will happen some day with technologies like .NET's data binding .
  17. 23. <ul><li>WPF Data Binding! </li></ul>
  18. 24. View (XAML) Data Binding Change notification Presentation Model State Name, Description, Estimate, IsSaveButtonEnabled Operations Save, Delete Data Model WS DB FS Designer Developer Integration/Database developer
  19. 25. Testing
  20. 26. Oppsummering <ul><li>WPF + Presentation Model = Godt design! </li></ul><ul><li>Separation Of Concerns </li></ul><ul><li>” Program to an interface, not an implementation” </li></ul>
  21. 27. Hvorfor WPF <ul><li>Kunnskap er portabel til Web (Silverlight 2) </li></ul><ul><li>Designer <-> Dev vennlig </li></ul><ul><li>Rik databinding støtte! </li></ul>
  22. 28. Tools <ul><li>CompositeWPF (CAB) </li></ul>
  23. 29. Forretningsapplikasjoner med WPF Gøran Hansen Senior Consultant, Capgemini http://blog.goeran.no [email_address]

×