- There are mainly three different types of design patterns. One is Creational, the other is Structural, and another one is Behavioral. The Creational design patterns are mainly used to create objects in a systematic way. The main benefit behind these Creational Patterns lies in its flexibility. For example, different subtypes of objects from the same classes can be created at runtime when you use these Creational Patterns.
Structural Patterns are used to establish these useful relationships between software elements or components in certain settings or configurations. The goal here is mainly to accomplish certain functional or nonfunctional requirements. Therefore, these efforts to accomplish these different goals typically lead to different structures implemented in Structural Patterns. Behavioral Patterns are the best practices of how you make your objects interact with each other.
The focus here is really defining the protocols in between these objects when they're trying to work together to accomplish a common goal. There are some important object-oriented mechanisms or concepts that are used to develop these design patterns. For example, in the Creational Patterns, Polymorphism is often used. Structural Patterns take advantage of Inheritance a lot. Behavioral Patterns heavily use methods and their signatures. Interfaces are used across all these different types of design patterns.
Knowing the design pattern types is helpful, especially because it allows you to more quickly locate the design patterns you're looking for.
Author
Released
7/16/2015- 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
Duration
Views
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.
Related Courses
-
PHP: Design Patterns
with Keith Casey1h 9m Intermediate
-
Introduction
-
Welcome34s
-
-
1. Understanding Design Patterns
-
What is a design pattern?2m 18s
-
Types of design patterns1m 47s
-
-
2. Creational Patterns
-
Factory48s
-
Factory example6m 44s
-
Abstract factory1m 24s
-
Abstract factory example5m 23s
-
Singleton57s
-
Singleton example5m 32s
-
Builder1m 44s
-
Builder example4m 34s
-
Prototype58s
-
Prototype example6m 2s
-
-
3. Structural Patterns
-
Decorator51s
-
Decorator example4m 23s
-
Proxy1m 7s
-
Proxy example5m 19s
-
Adapter37s
-
Adapter example5m 54s
-
Composite1m 14s
-
Composite example4m 56s
-
Bridge1m 12s
-
Bridge example4m 46s
-
-
4. Behavioral Patterns
-
Observer1m 1s
-
Observer example7m 27s
-
Visitor48s
-
Visitor example6m 59s
-
Iterator1m 9s
-
Iterator example4m 10s
-
Strategy37s
-
Strategy example6m 1s
-
-
5. Design Best Practices
-
Consistency2m 18s
-
Other qualities2m 42s
-
-
Conclusion
-
Next steps28s
-
- 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.
CancelTake 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.
Share this video
Embed this video
Video: Types of design patterns