Design Patterns in C# Made Simple
What you'll learn
- How to apply design patterns to help simplify application design
- How to reduce design complexity by moving responsibilities into collaborating classes
- Fair understanding of the C# programming language
- Working knowledge of software design
- Any knowledge of design patterns is a plus
More than two decades since design patterns have appeared, many developers consider them the most important discovery in software development. Others still find them a bad idea. And both are right! How comes?
In this course, you will learn how design patterns can be applied to make code better: flexible, short, readable. Flexibility is the key element in design patterns. You will learn how to decide when and which pattern to apply by formally analyzing the need to flex around specific axis. You will learn which pattern is adding which kind of flexibility, and what are the most common forms of implementation in practice. You will also learn common pitfalls and ways to overcome them when applying specific patterns.
Through a series of demonstrations, you will learn one design pattern at a time. In each demonstration, we shall start from an existing implementation which faces difficulties to accommodate the next requirement proposed by the customer. That will invariantly trigger a series of designing attempts, some doomed to fail, others having prospect to succeed. But what will learn in this course, is that each successful design will exhibit one kind of flexibility, which will be of critical importance to support the troublesome request posed by the customer. It will come as no surprise to you to learn that each such special kind of flexibility will be one specific design pattern.
Who this course is for:
- Hands-on programmers who are struggling to keep their source code clean and extensible
- Programmers who wish to apply design patterns without causing more harm than good
- All those who wish to improve their object-oriented programming and design skills
Zoran is Principal consultant at Coding Helmet Consultancy, speaker and author of 100+ articles, and independent trainer on .NET technology stack. You can find him speaking at conferences and user groups, promoting object-oriented development style, clean coding practices and techniques that improve longevity of complex business applications. Since 2014, Zoran is constantly publishing video courses, explaining object-oriented modeling and design as the central element of application design and relating it to other development aspects, such as persistence, UI and system integration.