When implemented correctly, interfaces can alleviate complicated inheritance issues in code. In this video, learn how programming to an interface, not an implementation, can help.
- [Instructor] Let's go back to the original duck design … and rethink this from the perspective … of separating what varies and programming to an interface. … To separate what varies, … we're going to move the implementations of quack and fly … out of the duck class. … We're also going to make sure … that we're programming to an interface … rather than an implementation … by using two interfaces, quack behavior and fly behavior. … Now let's use these interfaces … by implementing … some concrete quacking and flying subclasses. … For quacking, we'll implement a quack subclass, … a squeak subclass, … and also a class that doesn't make any sound at all, … which we'll call mute. … For flying, … we'll implement a fly with wings subclass … and a fly no way subclass. … Obviously, we could've added more concrete implementations … to both of these. … But for now this is all we need. … Now that we have these behaviors in place, … we can rework the duck class. … To do that, … we'll add two properties to the duck superclass, …
- 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.