Design principles can be used to inspire larger design choices in code. In this video, see how applying a principle can guide the design of our example duck simulator.
- [Instructor] At this point, … we really don't have a clear design direction … for our duck simulator. … Let's step back for a moment … and review what we've tried. … We started by implementing our ducks with inheritance. … Only as the variety of ducks and behaviors increased, … we found this didn't support our design very well. … In fact, what was appropriate for one concrete subclass … like the MallardDuck, … wasn't necessarily appropriate for another, … like the RubberDuck. … This led to code duplication … and actually limited our ability … to make use of inheritance. … We also tried using interfaces … but that didn't work very well either. … While using interfaces cleaned up our design … from an object-oriented perspective, … using interfaces totally destroyed our ability … to reuse code. … In fact, every concrete subclass needed … to implement its own flying and quacking behavior. … So, where do we go from here? … Have we reached some fundamental limit … to object-oriented design? …
- 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.