14
Module 1 Windows Client Application Design

Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Embed Size (px)

Citation preview

Page 1: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Module 1

Windows Client Application Design

Page 2: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Module Overview

• Windows Client Technologies

• Architectural Patterns

Page 3: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Lesson 1: Windows Client Technologies

• Understanding Windows Client Technologies

• Understanding Windows Forms

• Understanding Windows Presentation Foundation

• Comparing Windows Client Technologies

Page 4: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Windows client technologies that are available to build your applications by using the .NET Framework are:Windows client technologies that are available to build your applications by using the .NET Framework are:

Understanding Windows Client Technologies

• Windows Forms

• Windows Presentation Foundation

• Windows Forms

• Windows Presentation Foundation

Page 5: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Understanding Windows Forms

Key concepts and features:

Architecture of Windows Forms:

Key concepts and features:

Architecture of Windows Forms:

• User interface controls

• Application settings

• Event-driven user interfaces

• Resources management

• System dialog boxes

• Drawing and printing

• Data binding

• Multithreading and background operations

• Deployment features

• User interface controls

• Application settings

• Event-driven user interfaces

• Resources management

• System dialog boxes

• Drawing and printing

• Data binding

• Multithreading and background operations

• Deployment features

• System.Drawing

• System.Windows.Forms

• System.Drawing

• System.Windows.Forms

Page 6: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Key concepts and features:

Architecture of WPF:

Key concepts and features:

Architecture of WPF:

Understanding Windows Presentation Foundation

• XAML-based user interfaces

• Data binding

• Advanced 2-D and 3-D graphics

• Multimedia and animation

• Documents and printing

• Action processing by using commands and routed events

• Interoperability with Windows Forms controls

• XAML-based user interfaces

• Data binding

• Advanced 2-D and 3-D graphics

• Multimedia and animation

• Documents and printing

• Action processing by using commands and routed events

• Interoperability with Windows Forms controls

• PresentationFramework

• PresentationCore

• milcore

• PresentationFramework

• PresentationCore

• milcore

Page 7: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Your options:Your options:

• Windows Forms

• Windows Presentation Foundation

• A mixture of Windows Forms and WPF

• Windows Forms

• Windows Presentation Foundation

• A mixture of Windows Forms and WPF

Comparing Windows Client Technologies

Page 8: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Lesson 2: Architectural Patterns

• Understanding Design Patterns

• Choosing Design Patterns

Page 9: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Design patterns:Design patterns:

Understanding Design Patterns

• Are a formal way to document a solution for a problem

• Should explain a common problem in abstract terms

• Should present a solution in abstract terms

• Describe when you should apply the pattern

• Are a formal way to document a solution for a problem

• Should explain a common problem in abstract terms

• Should present a solution in abstract terms

• Describe when you should apply the pattern

Page 10: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Presentation patterns:Presentation patterns:

Choosing Design Patterns

• Model-View-Controller• Decouples the user interface from the data model

• Most suitable for Web development

• Model-View-Presenter• Evolves the MVC pattern for event-driven applications

• Most suitable for forms-over-data development

• Model-View-ViewModel • Evolves from the MVP pattern

• Most suitable for WPF applications

• Model-View-Controller• Decouples the user interface from the data model

• Most suitable for Web development

• Model-View-Presenter• Evolves the MVC pattern for event-driven applications

• Most suitable for forms-over-data development

• Model-View-ViewModel • Evolves from the MVP pattern

• Most suitable for WPF applications

Page 11: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Lab: Planning Windows Client Applications

• Exercise 1: Identifying Windows Client Technologies

• Exercise 2: Choosing Design Patterns

• Exercise 3: Guided Walkthrough of the Lab Applications

Logon information

Estimated time: 60 minutes

Page 12: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Lab Scenario

You are working as an expert Windows client developer for Adventure Works Cycles. You have been asked to analyze the business requirements to determine which Windows client technology and design principles should be used for a range of application developments that support the goals of the business.

Page 13: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Lab Review

Review Questions

• What is the most appropriate Windows client technology for you to use when you have an existing Windows Forms code-base where you have been asked to add a small amount of simple functionality?

• What Windows client technology and design pattern are the most appropriate when you are starting a new application development, where testing the separation of concerns is an important factor?

Page 14: Module 1 Windows Client Application Design. Module Overview Windows Client Technologies Architectural Patterns

Module Review and Takeaways

• Review Questions

• Tools