Section 2: Reactive and Concurrent Patterns
This section focuses on modern approaches to design patterns, such as Reactive and concurrent design patterns, and functional programming in general.
We'll start this section with an introduction to the basic principles of functional programming and how its concepts are embedded in Kotlin. Then, we'll examine concurrency primitives in Kotlin, the most important being coroutines. Once we have a good grasp of both functional programming and coroutines, we'll then see how, by combining them, we can create concurrent data structures that allow us to finely control the flow of our data and the design patterns that allow us to better structure concurrent code.
This section comprises the following chapters: