From the course: Design Patterns: Creational

Creational design patterns

From the course: Design Patterns: Creational

Start my 1-month free trial

Creational design patterns

- [Instructor] My goal is to help you create Object-Oriented software that is more flexible, maintainable, and reliable by better understanding how to use Creational Design Patterns and the Design Principles that inform them. If you've taken the Programming Foundations Design Patterns course, you'll recall that Design Patterns are time-tested, reusable, Object-Oriented Designs that solve many common Design problems. Design Patterns were popularized in the seminal book "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma and his colleagues, who we know as the gang of four. The goal of this course is to give you the gist of how the Patterns work, and ideas for how you can use them to improve your Object-Oriented Design skills. We won't go in-depth into each pattern with code examples, but, rather, focus on the high-level structure and Design. So that, by the end of the course, you'll have a good sense of the Creational Patterns, and the Principles that inform them, and can study any that interest you in more depth on your own. To be successful in this course, you should have a good understanding of Object-Oriented Design Principles. If you need a refresher on Design Principles, first watch the Advanced Design Patterns: Design Principles course. In that course, we take you through a set of Design Principles that best help you understand how Design Patterns work. The Principles discussed in that course inform the Patterns we discuss in this course, and we'll be referring to them often. In addition, you should have some experience with Object-Oriented Design. You don't need to be an expert in Object-Oriented Design and programming by any means. But I assume you understand the basic Object-Oriented concepts of Inheritance, Polymorphism, Abstraction, and Encapsulation. And that you have some experience looking at, and understanding, class diagrams. This course builds on the concepts of Object-Oriented programming. So, if at any point during this course, you need a review of these concepts, take a look at the Programming Foundations: Object-Oriented Design course for a good overview.

Contents