The Wayback Machine - https://web.archive.org/web/20120101063007/http://www.codeguru.com:80/csharp/.net/net_general/patterns/

    Patterns

    Null Object Pattern in C#

    Use the Null Object pattern to simplify your client code and makes it less error prone.

    Implement a Command Pattern Using C#

    Learn how to implement a Command design pattern using C# with menus and toolstrip buttons as userinterface objects.

    Choosing Between MVC and MVP Patterns in ASP.NET

    Probe for ASP.NET developers and choose the right pattern between MVC and MVP, concerning all major differences between them.

    C# Language Highlight: Using Keyword

    Learn about the dual-purpose of the C# using keyword. Examine why it can be extremely helpful in object management, and the syntax for its use.

    Let Your Parser Go for the GOLD

    Learn how the GOLD Parser system can help you develop fast and efficient parsers in any programming language environment, including C++, Java, and .NET just to name a few. GOLD is a freeware parser generator that includes a DFA and LALR parser you can include in your app with unlimited licensing. GOLD is a great alternative to GNU Bison, which locks you into the C++ environment.

    Smart Client: Composite UI Application Block

    Learn about the CAB at a very high level. With it you can create Windows Forms-based applications that have sophisticated capability without being as sophisticated to create.

    Server-Based AJAX for Enterprise Applications

    Sever-based AJAX is a new edition to the AJAX framework arena that may just be the perfect solution for AJAX enterprise adaptation.

    Voice Recognition in VB .NET

    Now that you understand how to use voice recognition in VB6, look into using it in VB .NET.

    Classic Parsing with Flex and Bison

    Its ease of use combined with its low footprint and high degree of portability make Bison and Flex ideal for rapidly developing useful parsers for today's challenging translation applications.

    Design a Football Engine and Learn How to Apply Design Patterns (Observer, Decorator, Strategy)

    Learn how to model a very simple football game engine and identify the design problems in it.

    Go Inside C# 3.0's Type Inference Process

    When a generic method is called without specifying type arguments, C# 3.0 uses a type inference process to infer the arguments. Find out how it works.

    Using Regular Expressions Groups to Isolate Sub-Matches

    Learn how to extract sub-matches from your regular expression matches with the .NET Group and GroupCollection classes.

    Understanding Basic Regular Expressions Patterns

    For programmers who are new to regular expressions, Tom Archer presents some basic metacharacters and explains how to use them to perform simple pattern matching with regular expressions.

    Invoking .NET Events from Native C++

    This article demonstrates a design pattern that can be used to implement events raised from native code without an explicit raise function on the managed class.

    Disposal at the End of Function Scope (not yet reviewed)

    This sample will allow for automatically calling dispose on objects that were requested to be disposed at the end of function scope.

    Implement Common Creational Design Patterns

    Explore some common creational design patterns and learn how to implement them using Microsoft .NET.

    Inter-Process Communication in .NET Using Named Pipes, Part 2

    Describes how to build a .NET Named Pipes multithreaded server and a client communicating with it.

    Inter-Process Communication in .NET Using Named Pipes, Part 1

    This article explores a way of implementing Named Pipes based Inter-Process Communication between .NET applications.

    NineRays Object Pool/Cache Pattern

    A generic object pool/cache class that looks like the ASP.NET web cache class, but works anywhere.

    Builder Design Pattern

    The Builder pattern allows a client object to construct a complex object by specifying only its type and content. The client is shielded from the details of the objects construction. This article includes example implementations in C# and Visual Basic .NET.

    Abstract Factory Design Pattern (Sample in C# and VB .NET)

    An abstract factory provides an interface for creating families of related objects without specifying their concrete classes. Sometimes one wants to construct an instance of one of a suite of classes, deciding between the classes at the time of instantiation. In order to avoid duplicating the decision making everywhere an instance is created, we need a mechanism for creating instances of related classes without necessarily knowing which will be instantiated.