Software design patterns are standard, proven ways to solve various problems programmers encounter. In this course, Design Patterns in Swift: Structural, you'll learn the structural design patterns and the way they are implemented using Swift 3. First, you'll explore the adapter pattern and bridge design patter. Next, you'll discover the composite pattern and the decorator design pattern. Then, you'll cover the great Swift language feature called extension. Finally, you'll learn about the facade, flyweight, and proxy design patterns. After completing this course, you'll be able to choose the right structural design pattern and implement it in an efficient way using Apple's Swift 3 programming language.