Expanded Library

Design Patterns Library

What you'll learn

The Design Patterns Library contains descriptions and examples of software design patterns that you can apply in your daily development. These patterns are time proven techniques for building long-lived, well factored software that are widely used in software development today.

Unlike other courses in our library, this course will continue to grow with new patterns each month, so check back often.

Table of contents

Course FAQ

What is a software design pattern?

You can think of a design pattern as a template for how to solve a specific problem when designing software.

How strictly do I need to follow software design patterns?

Design patterns do not dictate every line of code because even though we all run into similar problems, each situation is unique. A design pattern will give you a great starting point but is not the end solution, itself.

Is Pluralsight's software design pattern library comprehensive?

No, that's impossible. As the craft of software development continues to expand, there are always new classifications, problems, and software design patterns coming to light. But we are always adding new design patterns to this library so check back often.

What software is required for this course?

These design patterns were built for the .NET Framework.

About the authors

Steve Smith (@ardalis) is an entrepreneur and software developer with a passion for building quality software as effectively as possible. He provides mentoring and training workshops for teams with the desire to improve. Steve has been recognized as a Microsoft MVP for over 10 consecutive years, and is a frequent speaker at software developer conferences and events. He is the top contributor to the official documentation on ASP.NET Core and enjoys helpings others write maintainable, testable app... more

Robert spent nearly 10 years at Microsoft creating software that made it easier for everyone else to write software. Most recently Robert worked on Team Foundation Server on the Administration and Version Control teams. Currently Robert can be found working in the utilities sector on Smart Grid technologies. Robert fled the Minnesota winters and currently lives near Raleigh, NC with his wife Susan and four children, Cecilia, Brian, Ben and Evelyn. When not tackling technical challenges ... more

Brian Lagunas is a Microsoft MVP, a Microsoft Patterns & Practices Champion, Director of Technology for INETA, co-leader of the Boise .Net Developers User Group (NETDUG), board member of Boise Code Camp, speaker, trainer, author, and original creator of the Extended WPF Toolkit. He is a multi-recipient of the Microsoft Community Contributor Award and can be found speaking at a variety of user groups and code camps around the world. His talks always involve some form of XAML, such as WPF, Silverl... more

David Starr has worked in technology leadership positions for over 20 years. He specializes in agile software development practices, patterns and practices, and judicious application of various technologies within development teams. He works to improve the profession of software development as an author, trainer, and Azure architect. He is a 5 time Microsoft MVP in Visual Studio and a technical instructor with Pluralsight where he focuses on the software development practices and developer tool... more

Keith is a co-founder of Pluralsight, serving as CTO through 2014, where he helped build the initial content delivery system for Pluralsight, then focused on hiring an awesome team of developers in Utah to take it to the next level.

Niraj works as an Enterprise Architect for a Fortune 500 company and has an innate passion for building / studying software systems. He is a top rated speaker at various technical forums including Tech Ed, MCT Summit, Developer Summit, and Virtual Tech Days, among others. He enjoys working on – IT innovations that impact enterprise’s bottom line, architecture and integration of systems, performance tuning, and review of enterprise applications. He has received MVP award for ASP.NET, Connec... more

Glenn is a PM on the WCF team working on Microsoft’s future HTTP and REST stack. Prior to WCF he was a PM on the new Managed Extensibility Framework in .NET 4.0. He has experience both inside and outside Microsoft developing software solutions for ISVs and the enterprise. He has also been active in involving folks from the community in the development of software at Microsoft. This has included shipping products under open source licenses, as well as assisting other teams looking to do so.... more

Scott has worked on everything from 8-bit embedded devices to large scale web sites during his 15+ years in commercial software development. Since 2001, Scott has focused on server-side and web technologies, like ASP.NET, ASP.NET AJAX, Windows Workflow, Silverlight, and LINQ. Scott is also a speaker at national conferences like VSLive!, as well as code camps and user groups near his hometown of Hagerstown, MD. Scott has been recognized as a Microsoft MVP since 2005, and has written or co-... more

John Brown is a Software Craftsman continually looking for intuitive designs, agile architectures, and streamlined processes. With degrees in Computer Science from Johns Hopkins and Aerospace Engineering from Purdue, John is always up for a challenge, especially in his areas of interest in Artificial Intelligence and Machine Learning. As a Software Architect, he has built systems for small startups in the healthcare space to large mission critical systems for three letter Federal Agencies. He c... more

Donald Belcham is a senior software developer, independent contractor, and agile development expert who is a strong supporter of fundamental OO patterns and practices. He is co-author of the book, “Brownfield Application Development in .NET” (Manning Press, 2009), and actively shares his expertise with other technical professionals at user groups, code camps and conferences held throughout out the world. Past lectures have covered topics that encompass development practices, quality team l... more

Ready to upskill? Get started