wikibook / dhaj

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Designing Hexagonal Architecture with Java

Designing Hexagonal Architecture with Java

This is the code repository for Designing Hexagonal Architecture with Java, published by Packt.

An architect's guide to building maintainable and change-tolerant applications with Java and Quarkus

What is this book about?

Hexagonal architecture enhances developers' productivity by decoupling business code from technology code, making the software more change-tolerant, allowing it to evolve and incorporate new technologies without the need for significant refactoring. By adhering to hexagonal principles, you can structure your software in a way that reduces the effort required to understand and maintain the code.

This book covers the following exciting features:

  • Find out how to assemble business rules algorithms using the specification design pattern
  • Combine domain-driven design techniques with hexagonal principles to create powerful domain models
  • Employ adapters to make the system support different protocols such as REST, gRPC, and WebSocket
  • Create a module and package structure based on hexagonal principles
  • Use Java modules to enforce dependency inversion and ensure isolation between software components
  • Implement Quarkus DI to manage the life cycle of input and output ports

If you feel this book is for you, get your copy today!

https://www.packtpub.com/

Instructions and Navigations

All of the code is organized into folders. For example, Chapter02.

The code will look like the following:

<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-hibernate-validator</artifactId>
</dependency>

Following is what you need for this book: This book is for software architects and Java developers who want to improve code maintainability and enhance productivity with an architecture that allows changes in technology without compromising business logic, which is precisely what hexagonal architecture does. Intermediate knowledge of the Java programming language and familiarity with Jakarta EE will help you to get the most out of this book.

With the following software and hardware list you can run all code files present in the book (Chapter 1-15).

Software and Hardware List

Chapter Software required OS required
1-15 Java SE Development Kit Windows, Mac OS X, and Linux (Any)
1-15 Maven 3.6 Windows, Mac OS X, and Linux (Any)

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. Click here to download it.

Related products

Get to Know the Author

Davi Vieira is a software craftsman with a vested interest in the challenges faced by large enterprises in software design, development, and architecture. He has more than 10 years of experience constructing and maintaining complex, long-lasting, and mission-critical systems using object-oriented languages. He values the good lessons and the software development tradition left by others who came before him. Inspired by this software tradition, he develops and evolves his ideas.

About

License:MIT License


Languages

Language:Java 97.0%Language:Gherkin 1.8%Language:HTML 0.5%Language:CSS 0.4%Language:JavaScript 0.2%Language:Dockerfile 0.0%