Pro XAML with C# [electronic resource] : Application Development Strategies (covers WPF, Windows 8.1, and Windows Phone 8.1) /
James, Buddy.author.
Lalonde, Lori.author.
Pro XAML with C#: Application Development Strategies is your guide to real-world development practices on Microsoft’s XAML-based platforms, with examples in  WPF, Windows 8.1, and Windows Phone 8.1. Learn how to properly plan and architect an application on one or more of these platforms for a robust, scalable solution. In Part I, authors Buddy James and Lori Lalonde introduce you to XAML and reveal proven techniques for developing successful line-of-business applications. You’ll also find out about some of the conflicting needs and interests that you might encounter as an enterprise XAML developer. Part II begins to lay the groundwork to help you properly architect your application, providing you with a deeper understanding of domain-driven design and the Model-View-ViewModel design pattern. You will also learn about proper exception handling and logging techniques, and how to cover your code with unit tests to reduce bugs and validate your design. Part III explores implementation and deployment details for each of Microsoft’s XAML UIs, along with advice on deploying and maintaining your application across different devices using version control repositori es and continuous integration. Pro XAML with C#: Application Development Strategies is for intermediate to experienced developers looking to improve their professional practice. Readers should have experience working with C# and at least one XAML-based technology (WPF, Silverlight, Windows Store, or Windows Phone). .
Contents at a Glance; Contents; About the Authors; About the Technical Reviewer; Acknowledgments; Introduction; Part I: Getting Started ; Chapter 1: What Is XAML?;  A Brief History of Windows User Interface Design;  Extensible Application Markup Language;  Separation of User Interface Concerns;  Declarative vs. Imperative Programming;  To Code-Behind or Not to Code-Behind?;  The MVVM Design Pattern; Basic MVVM Implementation in WPF;  Summary; Chapter 2: Software Craftsmanship;  Software as an Art and a Science;  SOLID Object-Oriented Design ;  To Unit Test or Not to Unit Test?
Test-Driven Development  Meet the Team;  The Development Manager ;  The Business Analyst ;  The Junior Developer ;  The Guru ;  The DBA ;  The First Team Design Meeting ;  Scrum Agile Methodologies ;  How to "Talk the Talk" When It Comes to Gathering Requirements;  User Stories and How to Create Them; The Anatomy of a Good User Story;  Summary; Part II: Laying the Groundwork ; Chapter 3: Domain-Driven Design;  Introducing Domain-Driven Design;  What Is Domain-Driven Design? ;  Before Domain-Driven Design ; UML Hell and Stale "Requirements Documents";  Business User? Who's That?
Ubiquitous Language  The Domain Model in Domain-Driven Design;  The Source Code Is the Design Documentation;  Domain Entities ;  Domain Aggregate Roots ;  Domain Value Objects ;  Domain Services ;  Domain Events ;  CQRS: Command Query Responsibility Segregation ;  Summary; Chapter 4: Design Patterns ;  Architecture Types ;  Layered Architecture ;  User Interface Layer ;  Presentation Layer ;  Service Layer ;  Domain Layer ;  Infrastructure Layer ;  Design Patterns Used Throughout the Book;  The Repository Pattern ;  The Adapter Pattern ;  The MVVM Design Pattern
Basic MVVM Implementation in WPF  ICommand: The Cure for the Common Event Handler;  Summary; Chapter 5: Unit Testing;  Debugging Strategies;  Defensive Programming;  System Testing;  Regression Testing;  User Acceptance Testing;  Unit Tests to the Rescue;  Unit Testing Basics;  Characteristics of a Great Unit Test;  Automated Unit Test Execution;  Unit Test Execution Speed;  K.I.S.S. Your Unit Tests;  All Team Members Should Be Able to Execute Unit Tests;  Great Unit Tests Survive the Test of Time;  Unit Test Fixtures;  Unit Testing Frameworks;  NUnit;  Microsoft Unit Testing Project Template
SummaryChapter 6: Advanced Unit Testing and Test-Driven Development;  Test Fixtures Are Classes Too;  Use Inheritance to Avoid Duplicate Code;  Unit Testing Classes That Have Dependencies;  Dealing with Dependencies;  Repository Pattern;  Stubs;  Mock Objects;  Using the Moq Framework;  Using the Mock Class to Set Up Your Dependencies; Create an Instance of the Mock Class; Set Up the Behavior of the Mock Dependency Object; A Complete Example;  Design by Testing: Test-Driven Development;  ; Step 1: All Unit Tests Should Fail on the First Test Run
Step 2: Add Only Enough Code to Pass the Test and No More
Includes index.
Pro XAML with C#: Application Development Strategies is your guide to real-world development practices on Microsoft’s XAML-based platforms, with examples in  WPF, Windows 8.1, and Windows Phone 8.1. Learn how to properly plan and architect an application on one or more of these platforms for a robust, scalable solution. In Part I, authors Buddy James and Lori Lalonde introduce you to XAML and reveal proven techniques for developing successful line-of-business applications. You’ll also find out about some of the conflicting needs and interests that you might encounter as an enterprise XAML developer. Part II begins to lay the groundwork to help you properly architect your application, providing you with a deeper understanding of domain-driven design and the Model-View-ViewModel design pattern. You will also learn about proper exception handling and logging techniques, and how to cover your code with unit tests to reduce bugs and validate your design. Part III explores implementation and deployment details for each of Microsoft’s XAML UIs, along with advice on deploying and maintaining your application across different devices using version control repositori es and continuous integration. Pro XAML with C#: Application Development Strategies is for intermediate to experienced developers looking to improve their professional practice. Readers should have experience working with C# and at least one XAML-based technology (WPF, Silverlight, Windows Store, or Windows Phone). .
Microsoft software.
Microsoft .NET Framework.
Software engineering.
Microsoft and .NET.
Software Engineering/Programming and Operating Systems.