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.
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... morelications using Microsoft's developer tools. Connect with Steve at ardalis.com.
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... moreoncentrates on Microsoft .NET technologies and the Azure
As a mentor, team leader, instructor, and consultant he has helped train
and transform companies and agencies such as the FDIC by using Agile
processes and Team Foundation Server to create a complete DevOps
organization. He provides online courses in these areas through
You can find more about how John can transform your organization through
his consulting firm, Tritium Consulting, or
LinkedIn. Visit the
contact page if you'd like to reach out.
When John is not helping companies transform, he resides in Annapolis, MD
just outside of the nation's capital. When he's not teaching or consulting
you'll find him spending time with his family and searching out the best
places to SUP, Ski, Scuba, and Wind Surf.
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... moreight, and Windows 8, as well as how to build modular applications with Prism.
Brian currently works at Infragistics as a Product Manager for Infragistics’ award winning WPF and Silverlight, and Windows UI components. This is where he helps build tools that empower developers to quickly and easily build and style dynamic applications with immersive UX and vibrant data visualization in line of business applications, across all XAML platforms. Prior to working at Infragistics he worked in the construction and engineering industry as a senior software engineer and software solution architect where he specialized in enterprise application development. Before geeking out, Brian served his country in the United States Army as an infantryman and later served his local community as a deputy sheriff.In his spare time he authors courses for Pluralsight, blogs about XAML technologies. The easiest way to find Brian is on twitter at @BrianLagunas.
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.
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... moreing curricula. David blogs at ElegantCode.com, is a frequent contributor at conferences and a frequent writer. He has successfully led many product development teams and is a technical learning professional.
David lives in Seattle, Washington with his wife and four children, where he spends time being a dad and creating software.
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
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 ... morehe enjoys playing the guitar and hanging out with his family.
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... moreted Systems and recently Windows Azure.
When he is away from his laptop, you will find him taking deep dives in automobiles, pottery, rafting, photography, cooking and financial statements though not necessarily in that order. He is also a manager/speaker at BDOTNET, India’s largest .NET user group.
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-... moreauthored several books on Microsoft technologies. Scott founded the
site OdeToCode.com in 2004, and joined Pluralsight in 2007.
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... moreeadership, and the intricacies of new and emerging technologies.
In addition to acting as a mentor and keynote speaker, Donald has led a wide range of highly successful projects and developed top-performing teams for a variety of companies. Since 2007, he has been awarded the Microsoft MVP Award in C# and is a member of the JetBrains Academy.
Donald is a founding member and the current president of the Edmonton .NET User Group. You can access Donald Belcham’s thoughts on software development, .NET and C# through his various lectures, keynote presentations and at his outspoken technical blog; www.igloocoder.com.