search
0
cart
close
You have no products in your basket yet
left
Tech Categories
Best Sellers
New Releases
Books
Videos
Audiobooks
Articles
Newsletters
Free Learning
right
Kotlin Design Patterns and Best Practices - Second Edition

Kotlin Design Patterns and Best Practices: Build scalable applications using traditional, reactive, and concurrent design patterns in Kotlin, Second Edition

By Alexey Soshin
$35.99 $24.99
Book Jan 2022 356 pages 2nd Edition
eBook
$35.99 $24.99
Print
$44.99
Subscription
$15.99 Monthly
eBook
$35.99 $24.99
Print
$44.99
Subscription
$15.99 Monthly

What do you get with eBook?

Feature icon Instant access to your Digital eBook purchase
Feature icon Download this book in EPUB and PDF formats
Feature icon Access this title in our online reader with advanced features
Feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Jan 21, 2022
Length 356 pages
Edition : 2nd Edition
Language : English
ISBN-13 : 9781801815727
Category :
toc View table of contents toc Preview Book toc Download Code

Key benefits

  • Understand traditional and modern design patterns to improve the design of your application
  • Combine the benefits of object-oriented, functional, reactive, and concurrent programming
  • Choose the best microservices architecture and frameworks for your web application

Description

This book shows you how easy it can be to implement traditional design patterns in the modern multi-paradigm Kotlin programming language, and takes you through the new patterns and paradigms that have emerged. This second edition is updated to cover the changes introduced from Kotlin 1.2 up to 1.5 and focuses more on the idiomatic usage of coroutines, which have become a stable language feature. You'll begin by learning about the practical aspects of smarter coding in Kotlin, as well as understanding basic Kotlin syntax and the impact of design patterns on your code. The book also provides an in-depth explanation of the classical design patterns, such as Creational, Structural, and Behavioral families, before moving on to functional programming. You'll go through reactive and concurrent patterns, and finally, get to grips with coroutines and structured concurrency to write performant, extensible, and maintainable code. By the end of this Kotlin book, you'll have explored the latest trends in architecture and design patterns for microservices. You’ll also understand the tradeoffs when choosing between different architectures and make informed decisions.

What you will learn

Implement all the classical design patterns using the Kotlin programming language Apply reactive and concurrent design patterns to make your application more scalable Discover best practices in Kotlin and explore its new features Understand the key principles of functional programming and learn how they apply 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

What do you get with eBook?

Feature icon Instant access to your Digital eBook purchase
Feature icon Download this book in EPUB and PDF formats
Feature icon Access this title in our online reader with advanced features
Feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Jan 21, 2022
Length 356 pages
Edition : 2nd Edition
Language : English
ISBN-13 : 9781801815727
Category :

Table of Contents

17 Chapters
Preface Packt Packt
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Share Your Thoughts
Section 1: Classical Patterns Packt Packt
Section 1: Classical Patterns
Chapter 1: Getting Started with Kotlin Packt Packt
Chapter 1: Getting Started with Kotlin
Technical requirements
Basic language syntax and features
Understanding Kotlin code structure
Understanding types
Null safety
Reviewing Kotlin data structures
Control flow
Working with text
Loops
Classes and inheritance
Extension functions
Introduction to design patterns
Summary
Questions
Chapter 2: Working with Creational Patterns Packt Packt
Chapter 2: Working with Creational Patterns
Technical requirements
Singleton
Factory Method
Abstract Factory
Builder
Prototype
Summary
Questions
Chapter 3: Understanding Structural Patterns Packt Packt
Chapter 3: Understanding Structural Patterns
Technical requirements
Decorator
Adapter
Bridge
Composite
Facade
Flyweight
Proxy
Summary
Questions
Chapter 4: Getting Familiar with Behavioral Patterns Packt Packt
Chapter 4: Getting Familiar with Behavioral Patterns
Technical requirements
Strategy
Iterator
State
Command
Chain of Responsibility
Interpreter
Mediator
Memento
Visitor
Template method
Observer
Summary
Questions
Section 2: Reactive and Concurrent Patterns Packt Packt
Section 2: Reactive and Concurrent Patterns
Chapter 5: Introducing Functional Programming Packt Packt
Chapter 5: Introducing Functional Programming
Technical requirements
Reasoning behind the functional approach
Immutability
Functions as values
The it notation
Using expressions instead of statements
Recursion
Summary
Questions
Chapter 6: Threads and Coroutines Packt Packt
Chapter 6: Threads and Coroutines
Technical requirements
Looking deeper into threads
Introducing coroutines
Summary
Questions
Chapter 7: Controlling the Data Flow Packt Packt
Chapter 7: Controlling the Data Flow
Technical requirements
Reactive principles
Higher-order functions on collections
Exploring concurrent data structures
Summary
Questions
Chapter 8: Designing for Concurrency Packt Packt
Chapter 8: Designing for Concurrency
Technical requirements
Deferred Value
Barrier
Scheduler
Pipeline
Fan Out
Fan In
Racing
Mutex
Sidekick channel
Summary
Questions
Section 3: Practical Application of Design Patterns Packt Packt
Section 3: Practical Application of Design Patterns
Chapter 9: Idioms and Anti-Patterns Packt Packt
Chapter 9: Idioms and Anti-Patterns
Technical requirements
Using the scope functions
Type checks and casts
An alternative to the try-with-resources statement
Inline functions
Implementing Algebraic Data Types
Reified generics
Using constants efficiently
Constructor overload
Dealing with nulls
Making asynchronicity explicit
Validating input
Preferring sealed classes over enums
Summary
Questions
Chapter 10: Concurrent Microservices with Ktor Packt Packt
Chapter 10: Concurrent Microservices with Ktor
Technical requirements
Getting started with Ktor
Routing requests
Testing the service
Modularizing the application
Connecting to a database
Creating new entities
Making the tests consistent
Fetching entities
Organizing routes in Ktor
Achieving concurrency in Ktor
Summary
Questions
Chapter 11: Reactive Microservices with Vert.x Packt Packt
Chapter 11: Reactive Microservices with Vert.x
Technical requirements
Getting started with Vert.x
Routing in Vert.x
Verticles
Handling requests
Testing Vert.x applications
Working with databases
Understanding Event Loop
Communicating with Event Bus
Summary
Questions
Assessments Packt Packt
Question 1
Answer
Question 2
Answer
Question 3
Answer
Question 1
Answer
Question 2
Answer
Question 3
Answer
Question 1
Answer
Question 2
Answer
Question 3
Answer
Question 1
Answer
Question 2
Answer
Question 3
Answer
Question 1
Answer
Question 2
Answer
Question 3
Answer
Question 1
Answer
Question 2
Answer
Question 3
Answer
Question 1
Answer
Question 2
Answer
Question 3
Answer
Question 1
Answer
Question 2
Answer
Question 3
Answer
Question 1
Answer
Question 2
Answer
Question 3
Answer
Question 1
Answer
Question 2
Answer
Question 3
Answer
Question 1
Answer
Question 2
Answer
Question 3
Answer
Why subscribe?
Other Books You May Enjoy Packt Packt
Other Books You May Enjoy
Packt is searching for authors like you
Share Your Thoughts
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQS

How do I buy and download an eBook? Packt Packt

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Packt Packt

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Packt Packt
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Packt Packt

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Packt Packt
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Packt Packt

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.