
Get Your Hands Dirty on Clean Architecture
A hands-on guide to creating clean web applications with code examples in Java
Tom Hombergs(Author)
Packt Publishing
Published on 30. September 2019
Book
Paperback/Softback
156 pages
978-1-83921-196-6 (ISBN)
Description
Gain insight into how hexagonal architecture can help to keep the cost of development low over the complete lifetime of an application
Key Features
Explore ways to make your software flexible, extensible, and adaptable
Learn new concepts that you can easily blend with your own software development style
Develop the mindset of building maintainable solutions instead of taking shortcuts
Book Description
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
Who this book is for
This book is for you if you care about the architecture of the software you are building. To get the most out of this book, you must have some experience with web development. The code examples in this book are in Java. If you are not a Java programmer but can read object-oriented code in other languages, you will be fine. In the few places where Java or framework specifics are needed, they are thoroughly explained.
Key Features
Explore ways to make your software flexible, extensible, and adaptable
Learn new concepts that you can easily blend with your own software development style
Develop the mindset of building maintainable solutions instead of taking shortcuts
Book Description
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
Who this book is for
This book is for you if you care about the architecture of the software you are building. To get the most out of this book, you must have some experience with web development. The code examples in this book are in Java. If you are not a Java programmer but can read object-oriented code in other languages, you will be fine. In the few places where Java or framework specifics are needed, they are thoroughly explained.
More details
Language
English
Place of publication
Birmingham
United Kingdom
Target group
Professional and scholarly
US School Grade: College Graduate Student
Dimensions
Height: 235 mm
Width: 191 mm
Thickness: 9 mm
Weight
305 gr
ISBN-13
978-1-83921-196-6 (9781839211966)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Additional editions

Tom Hombergs
Get Your Hands Dirty on Clean Architecture
Build 'clean' applications with code examples in Java
E-Book
09/2024
Packt Publishing
€21.99
Available for download
Person
Tom Hombergs is a software engineer by profession and by passion with more than a decade of experience working on many different software projects for many different clients across various industries. In software projects, he takes on the roles of software developer, architect, and coach, with a focus on the Java ecosystem. He has found that writing is the best way to learn, so he likes to dive deep into topics he encounters in his software projects to create texts that give structure to the chaotic world of software development. He regularly writes about software development on his blog and is an occasional speaker at conferences.
Content
Table of Contents
What's Wrong With Layers?
Inverting Dependencies
Organizing Code
Implementing a Use Case
Implementing a Web Adapter
Implementing a Persistence Adapter
Testing Architecture Elements
Mapping Between Boundaries
Assembling the Application
Enforcing Architecture Boundaries
Taking Shortcuts Consciously
Deciding on an Architecture Style
What's Wrong With Layers?
Inverting Dependencies
Organizing Code
Implementing a Use Case
Implementing a Web Adapter
Implementing a Persistence Adapter
Testing Architecture Elements
Mapping Between Boundaries
Assembling the Application
Enforcing Architecture Boundaries
Taking Shortcuts Consciously
Deciding on an Architecture Style