Cover image for MVVM Survival Guide for Enterprise Architectures in Silverlight and WPF.
MVVM Survival Guide for Enterprise Architectures in Silverlight and WPF.
Title:
MVVM Survival Guide for Enterprise Architectures in Silverlight and WPF.
Author:
Vice, Ryan.
ISBN:
9781849683432
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (481 pages)
Contents:
MVVM Survival Guide for Enterprise Architectures in Silverlight and WPF -- Table of Contents -- MVVM Survival Guide for Enterprise Architectures in Silverlight and WPF -- Credits -- Foreword -- About the Authors -- About the Reviewer -- www.PacktPub.com -- Support files, eBooks, discount offers and more -- Why Subscribe? -- Free Access for Packt account holders -- Instant Updates on New Packt Books -- Preface -- What this book covers -- What you need for this book -- Who this book is for -- Conventions -- Reader feedback -- Customer support -- Downloading the example code -- Errata -- Piracy -- Questions -- 1. Presentation Patterns -- The Project Billing sample application -- Types of state -- History of presentational patterns -- Monolithic design -- The problems with monolithic design -- Code maintenance -- Code structure -- Code testability -- Data service stub -- Monolithic Project Billing sample -- ProjectsView -- Initialization -- Event handlers -- Helpers -- Running the sample -- Takeaways -- Poor testability -- Poor extensibility and code reuse -- Rapid application development -- RAD Project Billing sample -- Takeaways -- MVC -- View -- Controller -- Model -- Layered design -- The layers -- Presentation layer -- Business layer -- Data layer -- MVC with layered design -- MVC Project Billing sample -- Model -- Controller -- View -- Initialization -- Event handlers -- Helpers -- MainWindow -- How it works -- Takeaways -- Memory leaks -- MVP -- MVP Project Billing sample -- Model -- View -- Event handlers -- Public methods -- Helpers -- Presenter -- Event handlers -- Helpers -- Main window -- How it works -- Takeaways -- Summary -- 2. Introduction to MVVM -- History -- Structure -- Pure MVVM -- View -- View Model -- WPF and Silverlight enablers -- Dependency Properties -- Dependency property inheritance -- Data context.

Attached behavior pattern -- Rich data binding -- INotifyCollectionChanged and ObservableCollection -- Automatic dispatching -- Triggers -- Styles -- Control Templates -- Data templates -- Commands -- MVVM project billing sample -- MVVM design -- View Models -- ProjectsViewModel -- ProjectViewModel -- Model -- Code -- ProjectsModel -- ProjectViewModel -- ProjectsViewModel -- WPF UI -- ProjectsView -- MainWindow -- Silverlight UI -- Porting assemblies to Silverlight -- ProjectsView -- MainPage -- Benefits of MVVM -- MVVM and humble views -- Issues and pain points of MVVM -- MVVM Light -- Summary -- 3. Northwind - Foundations -- Northwind requirements -- Presentation tier foundation -- Locator pattern -- Data access tier -- Listing the customers -- Unit testing getting customers -- Using an isolation framework -- Adding tabs -- Viewing customer details -- Viewing details for one customer -- Testing CustomerDetailsViewModel -- Wiring up the customer list box -- Testing ShowCustomerDetails() -- Summary -- 4. Northwind-Services and Persistence Ignorance -- Adding a Service Layer -- Integrating the Service Layer -- Persistence ignorance and custom models -- Trade-offs of generated models -- Adding persistence ignorance -- Adding unit tests -- Summary -- 5. Northwind-Commands and User Inputs -- Pure MVVM -- Making it easier with frameworks -- Updating customer details -- Testing and updating customer details -- Gestures, events, and commands -- InputBindings -- KeyBinding -- MouseBinding -- Using code behind -- Event to command -- Attached Behavior -- Using MVVM Light -- Summary -- 6. Northwind-Hierarchical View Model and IoC -- Adding orders to customer details -- Service layer -- Application layer -- Presentation layer -- View Models -- Views -- Take aways -- Viewing order details -- ToolManager -- Inversion of Control frameworks -- IoC designs.

Service Locator anti-pattern -- IoC best practices -- Adding an IoC container to Northwind -- Order details -- Summary -- 7. Dialogs and MVVM -- Should we make a compromise? -- Dialog service -- Using DataTemplates with DialogService -- Convention over configuration -- Mediators -- Attached behaviors -- Summary -- 8. Workflow-based MVVM Applications -- WF for business rules execution -- Handling delays in rules execution -- Using WorkflowInvoker in background thread -- Using WorkflowApplication -- WF for controlling application flow -- Summary -- 9. Validation -- Validations and dependency properties -- Error templates -- Validation in MVVM-based applications -- Validation rules -- Using validation rules -- Specializing validation rules-supporting parameters -- Validation rules and converters -- Validation mechanism in WPF and Silverlight -- IDataErrorInfo -- Validation states -- Providing a summary validation error -- Invalidating multiple fields -- Limitations and gotchas -- INotifyDataErrorInfo -- Enterprise library validation application block -- Complex business rules -- Error notifications -- Error message box -- Highlighting fields -- Error messages in the tooltip -- Error messages beside the control -- Validation summary pane -- Flip controls -- Summary -- 10. Using Non-MVVM Third-party Controls -- Using attached behaviors -- Using binding reflector -- readonly CLR properties (with no change notification support) -- Using .NET 4.0 dynamic -- Using MVVM adapters -- Summary -- 11. MVVM and Application Performance -- Asynchronous binding -- Asynchronous View Model construction -- Priority binding -- Virtualization and paging -- Using BackgroundWorker -- Targeting system configuration -- Event Throttling -- Lazy Initialization -- Summary -- A. MVVM Frameworks -- B. Binding at a Glance -- Basics -- Validation -- ValidationRules -- IDataErrorInfo.

INotifyDataErrorInfo [.net 4.5] -- Enterprise Library 5.0 Validation Application Block -- Windows WF -- Validation.ErrorTemplate -- Static properties/fields -- Executing code in DataContext -- Binding to DataContext[DC] -- Resources -- Types with default constructor -- XmlDataProvider -- ObjectDataProvider -- Binding to resource -- Static resource -- Dynamic resource -- Updating source -- Binding.UpdateSourceTrigger -- Binding.Delay: [.net 4.5] [Binding.Mode:TwoWay / OneWayToSource ] -- Mode [Binding.Mode] [T:Target, S:Source] -- Binding to other elements in the view -- ElementName -- RelativeSource -- Conversion -- Binding.StringFormat [SF] -- Converter [C] -- Performance -- Async binding -- ObjectDataProvider.IsAsynchronous -- PriorityBinding -- Index.
Abstract:
Eliminate unnecessary code by taking advantage of the MVVM pattern in Silverlight and WPF using this book and eBook - less code, fewer bugs.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: