This course is part of a three-part series covering design patterns using Java. This part covers structural design patterns such as Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy as defined by the Gang of Four. We look at examples in the Java API and code examples of each pattern.
Introduction and Prerequisites So you've just been in an interview and someone asked you to describe a design pattern, or maybe you were just describing a problem to a coworker and they said it sounds you were reinventing the wheel. They might have even said that it sounds like you were describing the decorator or a proxy pattern. If this sounds like a situation that you've been in, then this course is for you. Our focus in this course in on presenting design patterns described in the Gang of Four in an example-driven way while using Java to do so. Hi, I'm Bryan Hansen, and welcome to Structural Design Patterns using Java.
Adapter Design Pattern Hi, this is Bryan Hansen, and in this module we're going to look at the adapter design pattern. The adapter pattern is a great pattern for connecting new code to legacy code without having to change the working contract that was produced from the legacy code originally.
Bridge Design Pattern Hi, this is Bryan Hansen, and in this module we are going to look at the bridge design pattern. The bridge pattern is very similar to the adapter with the main difference being that the bridge works with new code whereas the adapter works with legacy code.
Composite Pattern Hi, this is Bryan Hansen, and in this module we are going to look at the composite design pattern. The composite pattern is a hierarchical type pattern that deals with tree structures of information.
Decorator Pattern Hi, this is Bryan Hansen, and in this module we are going to look at the decorator pattern. The decorator pattern is a hierarchical type pattern that builds functionality at each level while using composition from similar data types.
Facade Pattern Hi, this is Bryan Hansen, and in this module we are going to look at the facade pattern. The facade pattern provides a simplified interface to a complex or difficult-to-use system that is often the result of a poorly designed API.
Flyweight Pattern Hi, this is Bryan Hansen, and in this module we are going to look at the flyweight pattern. The flyweight pattern is a pattern that minimizes memory use by sharing data with similarly typed objects.
Proxy Pattern Hi, this is Bryan Hansen, and in this module we are going to look at the proxy pattern. The proxy pattern is a pattern that acts as an interface to something else.
Next Well if you've made it this far, you've completed the Structural Design Patterns course, and I thank you for sticking with it through this. Patterns are a great tool and a great asset, and I hope you'll refer to this back in time and look at it as you get more experience with patterns and refresh your memory of what you're using and what might be a good fit for this pattern. If you're wondering what to look at next, there are various courses that I'm working on or have worked on, you may have already seen the Creational Design Patterns course that's out there, I'm also working on the Behavioral Patterns course that will finish this three-part series, and plan on doing more courses for patterns as I've already had requests from other people to do so. I've got many courses out there as well on Maven Fundamentals, Spring Fundamentals, the Spring MVC and Spring MVC 4 Intro courses, as well as Spring with JPA Hibernate and Spring Security Fundamentals, just to name a few, out of the library. Thank you for watching this course, and if you have any other suggestions, feel free to reach out to me through the author aliases on the Pluralsight website or my Twitter handle, which is on all the slides, or connect with me on LinkedIn as well.