Video details

Back to Basics: Design Patterns - Mike Shah - CppCon 2020

English --- Design Patterns are reusable elements of design that may help aid in making software more maintainable, flexible, and extensible. The term 'design patterns' can be traced back to at least the 1970s, although the term has been largely popularized by the 'Gang of Four' book Design Patterns, in which common software design patterns were defined and categorized. In this talk, you will learn the fundamentals of the creational, structural, and behavior design patterns. This talk is aimed at beginners who have some C++ knowledge working on a software project, but are starting to think about larger software problems. This talk will also be useful for folks who have been working in C++ for a while, but have never had a chance to study design patterns and need some resources to help orient them.
Learning about design patterns and where to apply them can at the least give you a way to think about how you solve unknown problems, or otherwise organize your software--think about design patterns as another tool to add to your developer toolbox. We will start this talk by introducing the taxonomy of design patterns at a high level, how to read a UML diagram (as a quick refresher), a refresher on inheritance vs composition, and then spend the rest of the time on walking through the implementation of several design patterns. Attendees will leave this talk ready to implement and use design patterns in C++.
--- Michael D. Shah completed his Ph.D. at Tufts University in the Redline Research Group in 2017. His Ph.D. thesis advisor was Samuel Z. Guyer. Michael finished his Masters degree in Computer Science in 2013 at Tufts University and Bachelors in Computers Science Engineering at The Ohio State University in 2011. Currently Michael is a lecturer at Northeastern University. Michael discovered computer science at the age of 13 when googling ”how do I make games”. From that google search, Mike has worked as a freelance game developer, worked in industry for Intel, Sony Playstation, Oblong Industries, and researched at The Ohio Supercomputer Center to name a few. Mike cares about building tools to help programmers monitor and improve the performance of realtime applications– especially games. In Michael’s spare time he is a long distance runner, weight lifter, and amateur pizza maker.
--- Streamed & Edited by Digital Medium Ltd - [email protected]