Tired of mapping your classes from one format to another? A convention-based, open source library can help alleviate some of those coding headaches.
- By Patrick Steele
- 02/02/2012
Learn how to implement the new sharing contracts in Windows 8 to distinguish your application.
Eric Vogel walks through a soup-to-nuts demo for building a Metro-style RSS reader.
Learn how to leverage the C# code analysis and compilation features in the Roslyn CTP.
Dig deeper into the Castle Windsor IoC container by learning how to control dependencies.
- By Patrick Steele
- 12/01/2011
Learn how to utilize the Roslyn Scripting API to host a C# scripting engine in your applications.
The new Windows Runtime integrates beautifully with the .NET Framework. Building this app will demonstrate just how well.
Use Inversion of Control to decouple views and viewmodels in WPF.
- By Patrick Steele
- 10/01/2011
Lazy Loading is a programming pattern useful for resource-intensive objects.
Aspect Oriented Programming is great for handling cross-cutting concerns such as logging, security, and threading.
Patrick Steele responds to questions about Lambda properties, interface-based code, and unsubscribing from events, among others.
- By Patrick Steele
- 08/02/2011
In the final installment of this three-part series on Reactive Extensions for .NET, Eric Vogel shows how to put together all the pieces to create a working, reactive application.
In Part 1, VSM columnist Eric Vogel covered the basics of the Reactive Extensions (Rx) library. In this installment he explores how to observe asynchronous methods, tasks and events, as well as how to compose observable sequences using LINQ.
This article will introduce you to the concept of exposing parts of your application logic as lambda properties. By making these properties read/write, you can plug in specific functionality with more control than subclassing.
- By Patrick Steele
- 06/01/2011
The Reactive Extensions (Rx) Library is a set of extensions for the IObservable<T> and IObserver<T> interfaces that greatly simplifies the orchestration and composition of asynchronous functions and events.