Design Patterns in .NET offers the reader a comprehensive, modern overview of the field of Design Patterns as they are used in the 21st century. Using the C# and F# programming languages, the book explores the classic design pattern implementation and discusses the applicability and relevance of specific language features for purposes of implementing patterns. The book shows scenarios where patterns are applicable, demonstrates possible implementations of patterns, discusses alternatives and pattern inter-relationships and illustrates the way that a dedicated refactoring tool (ReSharper) can be used to implement design patterns with ease. In addition to classic GoF patterns, the book also touches upon .NET-specific patterns (e.g., the Dispose pattern) as well as the way patterns interact with modern programming practices such as Dependency Injection. Finally, the book also gives the user a functional edge by presenting, where relevant, pattern implementations in the F# language; it also concludes with an overview of patterns of functional programming (monads).