Join Jungwoo Ryoo for an in-depth discussion in this video Builder, part of Python: Design Patterns.
- Builder is a solution to an Anti-Pattern called Telescoping Constructor. An Anti-Pattern is the opposite of the best practice. The Telescoping Constructor Anti-Pattern occurs when a software developer attempts to build a complex object using an excessive number of constructors. The Builder pattern is trying to solve this problem. Think of a scenario, in which you're trying to build a car. This requires various car parts to be first constructed individually and then assembled.
The Builder pattern brings an order to this chaotic process to remove this unnecessary complexity in building a complex object. The Builder partitions the process of building a complex object into the four different roles. The first role is Director, and Director is in charge of actually building a product using the builder object. Then, the builder class provides all the necessary interfaces required in building an object. We call this an Abstract Builder, because there will be a Concrete Builder inheriting from this Abstract Builder.
The Concrete Builder class inherits from the Builder class and actually implements the details of the interfaces of the Builder class, for a specific type of a product. And the product represents an object being built. The Builder Pattern does not rely on polymorphism, unlike Factory and Abstract Factory. The focus of the Builder Pattern is rather on reducing the complexity of building a complex object through a divide and conquer strategy.
- Understanding design patterns
- Best design practices: consistency, completeness, and correctness
- Working with creational patterns
- Working with structural patterns
- Working with behavioral patterns
Skill Level Intermediate
Q: In the strategy pattern example, why does the code keep executing the default function rather than the alternate?
A: The programming demonstration skips the step of defining what the strategy pattern should be when an alternate function name is provided
as an argument as shown below.
1. Understanding Design Patterns
2. Creational Patterns
3. Structural Patterns
4. Behavioral Patterns
5. Design Best Practices
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.Cancel
Take notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.