Software Architecture with Kotlin: Analyze, combine, and terraform various architecture styles for sustainable and scalable software Front Cover

Software Architecture with Kotlin: Analyze, combine, and terraform various architecture styles for sustainable and scalable software

  • Length: 487 pages
  • Edition: 1
  • Publisher:
  • Publication Date: 2025-01-09
  • ISBN-10: 1835461867
  • ISBN-13: 9781835461860
Description

Learn how to create innovative architecture styles by combining and terraforming various approaches, focusing on making trade-offs and mitigating risks to solve real-world problems

Key Features

  • Learn how to analyze and dissect various architecture styles into building blocks
  • Combine and add your own ideas to create custom solutions
  • Make informed decisions by navigating trade-offs and compromises
  • Purchase of the print or Kindle book includes a free PDF eBook

Book Description

Software Architecture with Kotlin is an insightful guide that explores various styles of software architecture with a focus on using the Kotlin programming language. This book delves into the principles, practices, and patterns that shape the architectural landscape of modern software systems.

The book starts by establishing a strong foundation in software architecture, explaining key concepts such as architectural qualities and principles. You’ll learn how architectural decisions impact the quality of a system, such as scalability, reliability, and extendability. It address modern architecture topics like microservices, serverless, and event-driven architectures, providing insights into the challenges and trade-offs involved in adopting these architectural styles. You’ll discover practical tools that will help you make informed decisions and mitigate risks. All architectural patterns in this book are demonstrated using Kotlin.

With its practical approach, real-world examples, and focus on Kotlin, this book will help you become a more proficient and impactful software architect.

What you will learn

  • Master the fundamental principles of architecture and design
  • Explore common architectural styles and their applicable scenarios
  • Analyze, break down, compare, and terraform architecture styles to solve practical problems
  • Reason, negotiate, and make difficult choices in the absence of ideal solutions
  • Mitigate risks when making compromises and trade-offs
  • Create scalable, sustainable, maintainable, and extendable software systems
  • Use the Kotlin programming language to achieve your architectural goals

Who this book is for

This book is for developers with basic Kotlin knowledge seeking a deeper understanding of architecture, Kotlin Android developers who are starting to get involved in backend development, and Java developers transitioning to Kotlin. It’s also ideal for software architects who are less experienced in Kotlin and want to enhance their skills, as well as those who enjoy discussing and exploring unique architectural concepts.

Table of Contents

  1. The essence of software architecture
  2. Principles of software architecture
  3. Polymorphism and alternatives
  4. Peer-to-peer and client-server architecture
  5. Model-view-controller (MVC) and Model-view-viewmodel (MVVM)
  6. Micro-frontend, microservices, and serverless
  7. Modular and layered architectures
  8. Domain-driven development (DDD) and CQRS
  9. Event-driven, event-sourced, and reactive systems
  10. Idempotency, replication and recovery models in distributed systems
  11. Auditing and monitoring models
  12. Performance and scalability
  13. Testing
  14. Security
  15. Beyond architecture
To access the link, solve the captcha.