Introduction

Heads up... You're reading this book for free, with parts of this chapter shown beyond this point as scrambled text.

Design patterns are a collection of well-known technical designs that address common technical problems. The software engineering community creates design patterns to solve common issues related to the creation, structure, behavior and architecture of your apps.

Many, if not all, of the challenges you’ll face aren’t unique; many developers have come across them before, and design patterns codify the solutions. Understanding those design patterns helps you avoid reinventing the wheel and equips you to take the right way forward.

Keep in mind, however, that it’s important to consider design patterns carefully before you implement them. Just as misusing medication, or taking it when it’s not necessary, can result in severe complications, applying design patterns carelessly can introduce significant issues.

In this lesson, you’ll continue working on the contacts program. Your goal is to implement three design patterns:

  1. Singleton
  2. Factory
  3. Observer

Now, it’s time to get started!

See forum comments
Download course materials from Github
Previous: Quiz: Polishing OOP Concepts Next: Instruction 1