July 2016

Volume 31 Number 7

Data Binding - A Better Way to Implement Data Binding in .NET

[Data Binding]

A Better Way to Implement Data Binding in .NET

Mark Sowul

Data binding can be a powerful approach for developing UIs in the Microsoft .NET Framework: It makes it easier to separate view logic from business logic, and easier to test the resulting code. However, despite the various toolkits that aim to help, implementing data binding is typically painful and tedious. Mark Sowul shows you a better way.

Cutting Edge - Reflections on Code First, Persistence and Domain ModelingColumn

[Cutting Edge]

Reflections on Code First, Persistence and Domain Modeling

Dino Esposito

Code First is about persistence of an object-oriented model through an aptly created set of tables. Domain modeling is about implementing business rules and workflows through an object-oriented model. Logically speaking, the two models are distinct, but sometimes they can be considered just one.

Xamarin - Working with Local Databases in Xamarin.Forms Using SQLite

[Xamarin]

Working with Local Databases in Xamarin.Forms Using SQLite

Alessandro Del

Learn how to store and query local data in your Android, iOS, and Universal Windows apps with SQLite databases using Xamarin Forms and Visual Studio 2015.

Data Points - The New Azure DocumentDB Node.js SDKColumn

[Data Points]

The New Azure DocumentDB Node.js SDK

Julie Lerman

Over the past year, Julie Lerman has been developing a sample app that uses Aurelia on the front end, a server-side API written in Node.js, and Azure DocumentDB for its data store. But all these parts have changed, so it’s time for an update.

CQRS - Leverage CQRS to Create Highly Responsive Systems

[CQRS]

Leverage CQRS to Create Highly Responsive Systems

Peter Vogel

Peter Vogel reviews how Domain-Driven Design (DDD) integrates with CQRS in a real-world sales system that requires fast response times.

Test Run - Matrix Inversion Using C\#Column

[Test Run]

Matrix Inversion Using C#

James McCaffrey

Matrix inversion is a fundamental technique in machine learning, but the .NET Framework doesn't seem to have a matrix inversion method. James McCaffrey remedies this with a method that uses an algorithm called Crout's LU decomposition.

C\# - Applying AI to a Multi-Agent 'Mini-Basketball' Game

[C#]

Applying AI to a Multi-Agent 'Mini-Basketball' Game

Arnaldo Perez

In this article you'll learn the basics of AI in a mini-basketball game. Explore intelligent agents and their various architectures (reactive, pro-active) as you learn the basics of multi-agent systems and the traditional approach for game AI behavior modeling through finite state machines.

The Working Programmer - How To Be MEAN: Let's Be DEANColumn

[The Working Programmer]

How To Be MEAN: Let's Be DEAN

Ted Neward

Ted Neward examines the work required to replace the M in MEAN (MongoDB) with another non-relational database--DocumentDB running in Microsoft Azure. This flexibility lets developers take advantage of DocumentDB's enterprise-friendly capabilities, including server-side code execution and SQL-like query language.

Essential .NET - Visual Studio 2015 with .NET Core ToolingColumn

[Essential .NET]

Visual Studio 2015 with .NET Core Tooling

Mark Michaelis

Mark Michaelis discusses the various .NET Core project types, explains the details of the new files types and their function, and delves into how the new project structure supports side-by-side debugging of open source NuGet packages.

Modern Apps - Build a Wi-Fi Scanner in the UWPColumn

[Modern Apps]

Build a Wi-Fi Scanner in the UWP

Frank La

In this month’s Modern Apps column, Frank La Vigne explores the basics of scanning Wi-Fi networks using the APIs built into the Universal Windows Platform.

Don't Get Me Started - Missing the TargetColumn

[Don't Get Me Started]

Missing the Target

David Platt

From the failed effort by retail giant Target to break into the Canadian market, to mounting frustration among health care professionals with computerized processes, columnist David Platt finds rotten UX at the core of some troubling challenges.

Editor's Note - Bad MedicineColumn

[Editor's Note]

Bad Medicine

Michael Desmond

Over 18 months from 1985 to 1987, the Therac-25 radiation therapy system overdosed six patients, killing at least two. And poor software design was directly at fault.