This chapter covers structural patterns in Kotlin. In general, structural patterns deal with relationships between objects.
We'll discuss how to extend the functionality of our objects without producing complex class hierarchies and how to adapt to changes in the future or how to fix some of the decisions taken in the past, as well as how to reduce the memory footprint of our program.
In this chapter, we will cover the following topics:
- Decorator
- Adapter
- Bridge
- Composite
- Facade
- Flyweight
- Proxy