万本电子书0元读

万本电子书0元读

顶部广告

MVVM Survival Guide for Enterprise Architectures in Silverlight and WPF电子书

售       价:¥

35人正在读 | 0人评论 6.2

作       者:Ryan Vice

出  版  社:Packt Publishing

出版时间:2012-08-03

字       数:667.7万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
This book combines practical, real-world examples with all the background material and theory you need The concepts are explained with a practical LOB enterprise application that is gradually built through the course of this book. MVVM offers lots of design choices and the author shows examples of each of these approaches, by changing the code to achieve the same results. This book will be a valuable resource for Silverlight and WPF developers who want to fully maximize the tools with recommended best practices for enterprise development. This is an advanced book and you will need to be familiar with C#, the .Net framework, and Silverlight or WPF.
目录展开

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

累计评论(0条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部