Dive deep into Kotlin design patterns, explore idiomatic functional programming, and master microservices with frameworks like Arrow, Ktor, and Vert.x.
Key Features
- Start from basic Kotlin syntax and go all the way to advanced topics like Coroutines and structural concurrency
- Learn how to select and implement the right design pattern for your next Kotlin project
- Get to grips with concurrent and reactive microservices with Ktor and Vert.x
Book Description
For developers who are working with Design Patterns in Kotlin, this practical guide offers an opportunity to put their knowledge into practice. The book covers classical and modern design patterns, and provides a hands-on approach to implementation, along with associated methodologies.
The third edition stays current with Kotlin updates, spanning from version 1.6 onwards, and offers in-depth insights into topics like Structured Concurrency and Context Receivers. The book starts by introducing essential Kotlin syntax and the significance of design patterns, covering classic Creational, Structural, and Behavioral patterns. It then progresses to explore functional programming, Reactive, and Concurrent patterns, including detailed discussions on Coroutines and Structured Concurrency. As you navigate through these advanced concepts, you'll enhance your Kotlin coding skills. The book also delves into the latest architectural trends, focusing on microservices design patterns and aiding your decision-making process when choosing between architectures.
By the end of the book, you will have a solid grasp of these advanced concepts and be able to apply them in your own projects.
What you will learn
- Utilize functional programming and coroutines with the Arrow framework
- Use classical design patterns in the Kotlin programming language
- Scale your applications with reactive and concurrent design patterns
- Discover best practices in Kotlin and explore its new features
- Apply the key principles of functional programming to Kotlin
- Find out how to write idiomatic Kotlin code and learn which patterns to avoid
- Harness the power of Kotlin to design concurrent and reliable systems with ease
- Create an effective microservice with Kotlin and the Ktor framework
Who this book is for
This book is for developers who want to apply design patterns they've learned from other languages in Kotlin and build reliable, scalable, and maintainable applications. You'll need a good grasp on at least one programming language before you get started with this book. Familiarity with classical design patterns from your language of choice would be helpful, but you'll still be able to follow along if you code in other languages
Table of Contents
- Getting Started with Kotlin
- Working with Creational Patterns
- Understanding Structural Patterns
- Getting Familiar with Behavioral Patterns
- Introducing Functional Programming
- Threads and Coroutines
- Controlling the Data Flow
- Designing for Concurrency
- Idioms and Anti-Patterns
- Practical Functional Programming with Arrow
- Concurrent Microservices with Ktor
- Reactive Microservices with Vert.x