Get Your Hands Dirty on Clean Architecture: A hands-on guide to creating clean web applications with code examples in Java

Get Your Hands Dirty on Clean Architecture: A hands-on guide to creating clean web applications with code examples in Java
Get Your Hands Dirty on Clean Architecture: A hands-on guide to creating clean web applications with code examples in Java by Tom Hombergs
English | 2019 | ISBN: 1839211966 | 156 Pages | True PDF, EPUB | 10 MB

Gain insight into how hexagonal architecture can help to keep the cost of development low over the complete lifetime of an application
We would all like to build software architecture that yields adaptable and flexible software with low development costs. But, unreasonable deadlines and shortcuts make it very hard to create such an architecture.
Get Your Hands Dirty on Clean Architecture starts with a discussion about the conventional layered architecture style and its disadvantages. It also talks about the advantages of the domain-centric architecture styles of Robert C. Martin’s Clean Architecture and Alistair Cockburn’s Hexagonal Architecture. Then, the book dives into hands-on chapters that show you how to manifest a hexagonal architecture in actual code. You’ll learn in detail about different mapping strategies between the layers of a hexagonal architecture and see how to assemble the architecture elements into an application. The later chapters demonstrate how to enforce architecture boundaries. You’ll also learn what shortcuts produce what types of technical debt and how, sometimes, it is a good idea to willingly take on those debts.
After reading this book, you’ll have all the knowledge you need to create applications using the hexagonal architecture style of web development.
What you will learn

  • Identify potential shortcomings of using a layered architecture
  • Apply methods to enforce architecture boundaries
  • Find out how potential shortcuts can affect the software architecture
  • Produce arguments for when to use which style of architecture
  • Structure your code according to the architecture
  • Apply various types of tests that will cover each element of the architecture