Design Patterns Boot Camp
Topic: Software Development
Take your software design skills to the next level with design patterns—reusable, time-tested, and proven object-oriented solutions. With design patterns, rather than reinventing the wheel, you’ll draw on tried-and-true, road-tested designs that will make your software more flexible, reliable, and resilient to change.
Join Eric Freeman and Elisabeth Robson, co-authors of the industry’s “go to” book for learning design patterns, Head First Design Patterns, in a two-day course on the fundamentals of patterns. You’ll learn soup to nuts about patterns and everything you need to understand them and use them in your own code. You’ll also get a great overview of the OO principles behind all patterns, and the foundational patterns from the Gang of Four.
What you'll learn-and how you can apply it
By the end of this live, online course, you’ll understand:
- What design patterns are, where they came from
- How design patterns are solutions you apply, not code libraries you download
- The key object-oriented design principles that underlie design patterns
- How to read a design pattern and apply the pattern to your code design
- What the Gang of Four (GoF) fundamental patterns are all about
And you’ll be able to:
- Improve your object-oriented designs, making them more flexible, maintainable, and resilient
- Use the power of a shared vocabulary to improve your team’s collaboration and workflow
This training course is for you because...
- You’re a software developer with some experience developing object-oriented systems and you want to take your design skills to the next level
- You’re a software developer who wants to better understand the patterns used in common frameworks and libraries
- You work in a team and you want to understand patterns so as to better communicate and work with other team members
- You manage software developers and you want to be able to work with them to build more maintainable and resilient software
- Familiarity and experience with object-oriented programming
- Experience with Java, or an object-oriented language
Materials or downloads needed in advance
Example Java code will be supplied; it is not necessary for you to run the code during class.
- Code examples in Java
- Exercises and solutions
- Post-workshop video
- Written course book material
About your instructors
Eric Freeman is a computer scientist, technology writer, and entrepreneur. Previously, he was a CTO at the Walt Disney Company. Eric’s most recent book, Head First Learn to Code, is a beginner’s guide to coding and computational thinking. Eric lives with his wife and young daughter in Austin, Texas. He holds a PhD in computer science from Yale University.
Elisabeth Robson is the co-author of several Head First books, including Head First Design Patterns, and is a principal at WickedlySmart, an online learning company for software developers.
The timeframes are only estimates and may vary according to how the class is progressing
Introduction to patterns
- What are software patterns?
- Where did patterns come from?
- Object-oriented concepts
- Object-oriented diagram quickstart
Exploring a pattern
- Walkthrough of a problem needing a pattern
- Getting some inspiration from design principles
- Using the strategy pattern
Patterns, more formally
- How patterns are formally defined
- How to read and use a pattern definition
Exploring patterns further
- Why we need patterns
- Power of patterns as shared vocabularies
- What patterns aren’t
- The Gang of Four patterns
- How principles relate to design patterns
- The SOLID principles
- How patterns help you incorporate principles into your code
Being ready for change in your code
- Learn the one constant in software development
- How design patterns allow us to deal with change
- Using the iterator pattern to deal with change
Keeping your code open for extension, closed for modification
- Learning the open/closed principle
- Understanding the decorator pattern
Avoiding tightly coupled designs
- The design principle of loose coupling
- Exploring loose coupling with the observer pattern
Additional Gang of Four patterns as time allows
- What are compound patterns?
- The model-view-controller pattern
Using patterns in the real world
- Categories of patterns
- Pattern catalogs