J. Albahari and B. Albahari. C# 4 in a Nutshell. O'Reilly, fourth edition, 2010.

J. Bishop. C# 3.0 Design Patterns. O'Reilly, 2008.

J. Boodhoo. "Model View Presenter."

C. Campbell, M. Veanes, J. Huo, and A. Petrenko. "Multiplexing of Partially Ordered Events," in TestCom 2005, Springer Verlag, June 2005.

J. Dean and S. Ghemawat. "MapReduce: simplified data processing on large clusters." In OSDI '04: Sixth Symposium on Operating System Design and Implementation, pages 137–150, 2004.

J. Duffy. Concurrent Programming on Windows. Addison-Wesley, 2008.

J. Duffy. "Immutable types for C#."

M. Fowler. Patterns of Enterprise Application Architecture. Addison Wesley, 2003.

E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.

J. E. Hoag. "A Tour of Various TPL Options." April 2009.

J. Jacky, M. Veanes, C. Campbell, and W. Schulte. Model-Based Software Testing and Analysis with C#. Cambridge University Press, 2008.

D. Leijen, W. Schulte, and S. Burckhardt. "The design of a task parallel library." In S. Arora and G.T. Leavens, editors, OOPSLA 2009: Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 227–242. ACM, 2009.

E. Lippert. "Fabulous Adventures in Coding."

M. McCool. "Structured Patterns for Parallel Computation," December 2009.

T. G. Mattson, B. A. Sanders, and B. L. Massingill. Patterns for Parallel Programming. Addison-Wesley, 2004.

C. Okasaki. Purely Functional Data Structures. Cambridge University Press, 1998.

J. Smith. "WPF Apps With the Model-View-ViewModel Design Pattern."

S. Toub. "Patterns of Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4 and C#," 2009.

S. Toub. "Custom Parallel Partitioning With .NET 4," April 26, 2010.

S. Wildermuth. "WPF Threads: Build More Responsive Apps With The Dispatcher."

Other Online Sources


"The ADO.NET Entity Framework Overview":

"Best Practices for using ADO.NET":

DevLabs Portal:


"Parallel Programming with Microsoft .NET":

"Guidelines for Overriding Equals() and Operator == (C# Programming Guide)":

"How to: Create a Task Scheduler That Limits the Degree of Concurrency":

"Improving ADO.NET Performance":

"Lazy Initialization":

Microsoft F# Developer Center:

NModel software:

"Our Pattern Language for Parallel Programming Ver 2.0":

Parallel Computing:

Parallel Performance Analysis in Visual Studio 2010:

Samples for Parallel Programming with the .NET Framework 4:

Windows Azure Guidance

"Performance Tuning with the Concurrency Visualizer in Visual Studio 2010":

Scenario Home Page:

"Standard Query Operators Overview":

"TaskScheduler Events":

Unity Application Block:

Windows HPC Server 2008:

© 2016 Microsoft