This video introduces another design principle. Learn how composition can help make designs more flexible.
- [Instructor] Let's take a step back, for a second, … and look what we've done in the design of the … duck simulator. … One thing we've done is we're now using a … HAS-A relationship to associate a duck with it's … flying and quacking behavior. … Remember, IS-A is an inheritance relationship. … A mallard duck is a duck. … And HAS-A is a relationship of composition. … A mallard duck has a fly behavior. … So now, instead of ducks inheriting their fly behavior, … we're now composing the ducks with a fly behavior. … Same with a quacking behavior. … So keep in mind, that when you put two classes together, … with composition, instead of inheriting behavior, … an object can then instead delegate that behavior, … to the composed object. … We now see that composition results in a more … flexible design. … That let's us easily reuse flying and quacking behavior. … This idea, of using composition rather than inheritance, … is another important design principle. … This principle says, if you have a choice, …
- What are design patterns?
- Encapsulating code that varies with the Strategy pattern
- The limitations of inheritance
- Using the Adapter pattern
- Implementing the Observer pattern
- Extending behavior with composition and the Decorator pattern
- Encapsulating iteration with the Iterator pattern
- Object creation with the Factory Method pattern
- Using design principles to guide your object-oriented design
Skill Level Intermediate
1. Design Patterns
2. The Strategy Pattern
3. The Adapter Pattern
4. The Observer Pattern
Using the Observer pattern2m 23s
5. The Decorator Pattern
6. The Iterator Pattern
7. The Factory Patterns
- 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.