Over the years, programmers have run into pretty much the same problems time and time again; not every problem is entirely unique. Therefore, over time programmers applied varying solutions to these problems, and this is how design patterns were born. This course will walk you through some centrally significant design patterns so that you can easily resolve programming issues encountered in your day-to-day tasks. You’ll learn these patterns in one of the most modern languages: Kotlin! We cover the three major areas in design patterns: creational patterns, structural patterns, and behavioral patterns. We also implement one structural patternDecoratorsthat plays an important role in adding functionalities to your programs. We take a look at different kinds of problem and implement the required patterns while avoiding common pitfalls. We also supply useful tips and tricks to use design patterns more effectively. By the end of the course, you will be confident about using varying types of design patterns to solve common design problems. Please note that a basic familiarity with Kotlin is desirable to get the most out of this course, along with some experience working with Android Studio. About the AuthorYusuf Saber is a seasoned Android developer with over 8 years’ professional experience in Android development. Yusuf has been in love with Kotlin since its first stable release in 2016. Since then, he has been using Kotlin to develop Android applications. Yusuf earned his Master’s degree in Computer Engineering from Ryerson University in 2011 and started his career as a .NET developer before turning to Android. He has worked on a large range of Android apps, from social to multimedia to B2B and more!