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.
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.
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 is a Principal Azure Solutions Architect for Microsoft and 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 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 tooling 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.
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.
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.
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.
Scott has over 15 years of experience in commercial software
development and is a frequent speaker at national conferences,
and local user groups. Scott is a Microsoft MVP and has authored
books on several Microsoft technologies, including ASP.NET, C#,
and Windows Workflow.
Niraj works as an Enterprise Architect for a Fortune 500 company and has an innate passion for building / studying software systems. He is also a manager/speaker at BDOTNET, India’s largest .NET user group.
Donald Belcham is a senior software developer, independent contractor, and agile development expert who is a strong supporter of fundamental OO patterns and practices. Since 2007, he has been awarded the Microsoft MVP Award in C# and is a member of the JetBrains Academy.
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.