Designing Hexagonal Architecture with Java: An architect's guide to building maintainable and change-tolerant applications with Java and Quarkus
暫譯: 使用 Java 設計六角架構:建構可維護且具變更容忍性的應用程式的架構師指南,包含 Java 和 Quarkus
Davi Vieira
- 出版商: Packt Publishing
- 出版日期: 2022-01-07
- 售價: $1,680
- 貴賓價: 9.5 折 $1,596
- 語言: 英文
- 頁數: 460
- 裝訂: Quality Paper - also called trade paper
- ISBN: 1801816484
- ISBN-13: 9781801816489
-
相關分類:
Java 程式語言
立即出貨 (庫存=1)
買這商品的人也買了...
-
$505Processing 編程學習指南(原書第2版)
-
$1,929$1,827 -
$407Java 從入門到精通, 6/e
-
$4,200$3,990 -
$500$395 -
$2,384Practical Machine Learning for Computer Vision: End-To-End Machine Learning for Images (Paperback)
-
$1,840AI and Machine Learning for On-Device Development: A Programmer's Guide
-
$1,900$1,805 -
$2,300$2,185 -
$1,850$1,758 -
$2,170$2,062 -
$539$512 -
$509設計模式之美
-
$474深度探索 Go語言 — 對象模型與 runtime 的原理、特性及應用
-
$1,200$948 -
$580$458 -
$1,950$1,853 -
$780$616 -
$594$564 -
$630$498 -
$2,100$1,995 -
$720$562 -
$520$411 -
$780$616 -
$880$695
相關主題
商品描述
A practical guide for software architects and Java developers to build cloud-native hexagonal applications using Java and Quarkus to create systems that are easier to refactor, scale, and maintain
Key Features
- Learn techniques to decouple business and technology code in an application
- Apply hexagonal architecture principles to produce more organized, coherent, and maintainable software
- Minimize technical debts and tackle complexities derived from multiple teams dealing with the same code base
Book Description
Hexagonal architecture enhances developers' productivity by decoupling business code from technology code, making the software more change-tolerant, and 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 starts with an in-depth analysis of hexagonal architecture's building blocks, such as entities, use cases, ports, and adapters. You'll learn how to assemble business code in the Domain hexagon, create features by using ports and use cases in the Application hexagon, and make your software compatible with different technologies by employing adapters in the Framework hexagon. Moving on, you'll get your hands dirty developing a system based on a real-world scenario applying all the hexagonal architecture's building blocks. By creating a hexagonal system, you'll also understand how you can use Java modules to reinforce dependency inversion and ensure the isolation of each hexagon in the architecture. Finally, you'll get to grips with using Quarkus to turn your hexagonal application into a cloud-native system.
By the end of this hexagonal architecture book, you'll be able to bring order and sanity to the development of complex and long-lasting applications.
What you will learn
- 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
Who this book is for
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.
商品描述(中文翻譯)
為軟體架構師和 Java 開發人員提供的實用指南,使用 Java 和 Quarkus 建立雲原生的六邊形應用程式,以創建更易於重構、擴展和維護的系統
主要特點
- 學習在應用程式中解耦業務和技術代碼的技術
- 應用六邊形架構原則,產生更有組織性、一致性和可維護的軟體
- 最小化技術負債,解決多個團隊處理相同代碼庫所帶來的複雜性
書籍描述
六邊形架構通過將業務代碼與技術代碼解耦,提升開發人員的生產力,使軟體更具變更容忍度,並允許其在不需要重大重構的情況下演變和整合新技術。遵循六邊形原則,您可以以減少理解和維護代碼所需努力的方式結構化您的軟體。
本書首先深入分析六邊形架構的構建塊,如實體、用例、端口和適配器。您將學習如何在領域六邊形中組裝業務代碼,通過在應用六邊形中使用端口和用例來創建功能,並通過在框架六邊形中使用適配器使您的軟體與不同技術兼容。接下來,您將親自開發一個基於真實場景的系統,應用所有六邊形架構的構建塊。通過創建六邊形系統,您還將了解如何使用 Java 模組來加強依賴反轉,並確保架構中每個六邊形的隔離。最後,您將學會使用 Quarkus 將您的六邊形應用程式轉變為雲原生系統。
在本書結束時,您將能夠為複雜且持久的應用程式的開發帶來秩序和理智。
您將學到什麼
- 了解如何使用規範設計模式組裝業務規則算法
- 將領域驅動設計技術與六邊形原則結合,創建強大的領域模型
- 使用適配器使系統支持不同的協議,如 REST、gRPC 和 WebSocket
- 根據六邊形原則創建模組和包結構
- 使用 Java 模組來強制執行依賴反轉,並確保軟體組件之間的隔離
- 實現 Quarkus DI 以管理輸入和輸出端口的生命週期
本書適合誰
本書適合希望改善代碼可維護性並提高生產力的軟體架構師和 Java 開發人員,這種架構允許技術變更而不妨礙業務邏輯,這正是六邊形架構的特點。對 Java 程式語言的中級知識和對 Jakarta EE 的熟悉將幫助您充分利用本書。
作者簡介
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.
作者簡介(中文翻譯)
Davi Vieira 是一位軟體工匠,對大型企業在軟體設計、開發和架構方面所面臨的挑戰有著深厚的興趣。他擁有超過 10 年的經驗,使用物件導向語言構建和維護複雜、持久且關鍵的系統。他重視前人留下的良好教訓和軟體開發傳統。受到這種軟體傳統的啟發,他不斷發展和演進自己的想法。
目錄大綱
Table of Contents
- Why Hexagonal Architecture?
- Wrapping Business Rules inside Domain Hexagon
- Handling Behavior with Ports and Use Cases
- Creating Adapters to Interact with the Outside World
- Exploring the Nature of Driving and Driven Operations
- Building the Domain Hexagon
- Building the Application Hexagon
- Building the Framework Hexagon
- Applying Dependency Inversion with Java Modules
- Adding Quarkus to a Modularized Hexagonal Application
- Leveraging CDI Beans to Manage Ports and Use Cases
- Using RESTEasy Reactive to Implement Input Adapters
- Persisting Data with Output Adapters and Hibernate Reactive
- Setting Up Dockerfile and Kubernetes Objects for Cloud Deployment
- Good Design Practices for Your Hexagonal Application
目錄大綱(中文翻譯)
Table of Contents
- Why Hexagonal Architecture?
- Wrapping Business Rules inside Domain Hexagon
- Handling Behavior with Ports and Use Cases
- Creating Adapters to Interact with the Outside World
- Exploring the Nature of Driving and Driven Operations
- Building the Domain Hexagon
- Building the Application Hexagon
- Building the Framework Hexagon
- Applying Dependency Inversion with Java Modules
- Adding Quarkus to a Modularized Hexagonal Application
- Leveraging CDI Beans to Manage Ports and Use Cases
- Using RESTEasy Reactive to Implement Input Adapters
- Persisting Data with Output Adapters and Hibernate Reactive
- Setting Up Dockerfile and Kubernetes Objects for Cloud Deployment
- Good Design Practices for Your Hexagonal Application